icecat: add patch for rust 1.39
[ci skip]
This commit is contained in:
parent
7363758d87
commit
3bc9d38b36
1 changed files with 171 additions and 0 deletions
171
srcpkgs/icecat/patches/firefox-60.7.0-rust-1.39+.patch
Normal file
171
srcpkgs/icecat/patches/firefox-60.7.0-rust-1.39+.patch
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
Source: q66, adapted from Gentoo patch for 68
|
||||||
|
|
||||||
|
Based on https://github.com/rust-lang/rust/issues/64710
|
||||||
|
|
||||||
|
--- third_party/rust/bindgen/.cargo-checksum.json
|
||||||
|
+++ third_party/rust/bindgen/.cargo-checksum.json
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-{"files":{"Cargo.toml":"3080fa2631c58e35cb1b32642139d8c303a609f8b554bfe69cd659a5374f18b9","LICENSE":"1d2e4bdb9d94ab020e9550136cae9ec73fc699c3c96a9d98078c542e9b93d294","README.md":"630d1a1d123c131bad0fec23173e263ba8ecc064b5cd8446d4cab7ffd197db45","build.rs":"032a1c51963894a421b0535f9227796d88768ac5f665a81d2edced69dc6d106a","src/callbacks.rs":"9d41b7848cea37e8741fa7bc947ba58a83647824b1a0bbe7ff75012c412eab13","src/clang.rs":"5ce27d0772e66f9f2f94a55afd18c98d4a57aed4c1d57da53b025fbbbb81a287","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"8badd4b5ba38b83477c3ee3fc6f9ca79059b5650f5b489b2723c335037e27d92","src/codegen/impl_debug.rs":"e2ffd5b6ed936698aa4b9e7e3459d353383792707ad51f829a18a822f69cab0e","src/codegen/impl_partialeq.rs":"d69e2a9cdf2fdea74a60532109c0a1a75791f5a5ef931b28c5d447fa2915e5d3","src/codegen/mod.rs":"c923594d8d27dede9192dd1081acdedf97d67430f780e3dc4db39b8928a55d71","src/codegen/struct_layout.rs":"9bd0e3455e55e2a1faa4f332a327c2529a21bdfdd0fcb3a45bc5cdd7801d288f","src/extra_assertions.rs":"449549c4a7a50c3f0b06332452b2fb6c9b23f31ca8e5e1656fe6c7f21e8ef7fa","src/features.rs":"a437e6f736c8fba81ff74d90e7ddd142192ae5ffb9240d8c885eb84be6f2fe45","src/ir/analysis/derive_copy.rs":"59c21e299af3a36c6c82d4d16454700238269abd5929ec2d67c8414aebf82c3b","src/ir/analysis/derive_debug.rs":"3530e27ab0e260ec013cee3ad78a81497970c656a8eed589b755cce8caf53040","src/ir/analysis/derive_default.rs":"20e9dac151fadc59a7926ed9276ee8ced47e59c3f0c43f69fdafb75706045aca","src/ir/analysis/derive_hash.rs":"85c73c5660dc311ab6c15a21b69c4c5d2aa380d740decaf59ad594a6728cbe1f","src/ir/analysis/derive_partialeq_or_partialord.rs":"fb9540c324fdfcc9b0ae816e7713af000b11f5e2768c512c22a3082f263bb6bc","src/ir/analysis/has_destructor.rs":"d9aaaceba580b48eb0df4e5537b34b417c51ccdfeb8f6b72484f3bf4992317fe","src/ir/analysis/has_float.rs":"2a0465503d2c8247eaf916bd6a03594f3dc0370533d9a7c58cc5afb86693816c","src/ir/analysis/has_type_param_in_array.rs":"fcb1c78b6000f1f5eb8d8147e2afdaba9eb0e3a81b61e72537048dfdbeea7bcd","src/ir/analysis/has_vtable.rs":"37765e954ef792e369a58ccfe1d827a00fe9bce680466da1d6523671b94b6c92","src/ir/analysis/mod.rs":"ea5ace45c77e855674bb565ba0fef556f60e3293b0ddcf11d3a5a6ec15ab0648","src/ir/analysis/sizedness.rs":"3d3c8bde40604d53bb64273a3cbd8c55936a7dfe1de9b2ba92fc2c45572624b4","src/ir/analysis/template_params.rs":"6554dd1240142ec0e7299e678b696725f5cba99243d1c3d1cbf58d4764082fd6","src/ir/annotations.rs":"ef106afcbe6084c18bd13a37ee3c1cdc9596bfb055db8c773d81f8f15fec3208","src/ir/comment.rs":"000481754e5433d7c0886b9ce8b93b64c7ab1ae52867d211c73c7c4b336649a2","src/ir/comp.rs":"7b22f3ff19ca45a6fbfe7ea015109d43f4ddf65b33b47b1c37829fcb87cdff9b","src/ir/context.rs":"80679859b4efa52d74b0c7501bb5951b58c9705a97b96c9fc05134d1abe401c6","src/ir/derive.rs":"9550d01731ca66be28124c91fd0211a618743a065bec7b00e27c934afff82a84","src/ir/dot.rs":"d01f1621ab67e368d854a82bd6bb0b8dd52f3c2c733de8eaf81aece9543818cb","src/ir/enum_ty.rs":"3611100df8ddf01b010d2eae1d26a67df022e47b6236b0ed9d1b9b42340ebafd","src/ir/function.rs":"b86e665c6659c32bce39194240e7da6221c5a2ec51b362ad9f6e34f1bc396a6f","src/ir/int.rs":"1f61a472288afe489d9320bc8b13920333ece57891ae8570b4c4f25ab50688e6","src/ir/item.rs":"6f0d13615c6883b5e64c75f6d18d79b978b47aa3599ae1f4c196903d2d2cda68","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"17daab0a80564006de1f6b6190e7d9e6c5eb96990242fe707f8dc676f7110c18","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"828a890acdc8b10c44e69e2ed4a4f5d8c0e734606d3a8cc71658dcf43a49acf4","src/ir/template.rs":"21ba4cbacafce39b4a8013bc97e8054a906a8bc2f45a51aeef3b007caadde221","src/ir/traversal.rs":"eaca9aa6deb3eea9b8d7adc696781c70038796ff43e536bda47e90f84fe87d61","src/ir/ty.rs":"daa95f757288e4bfe84f9724c5f5df127b6f3a4452330691a24a94369db7d993","src/ir/var.rs":"57c8aa9f834c6f06418f7d471b1771bbb915821ef0d194b383be60092edca5f7","src/lib.rs":"d4217ac878659794c5990b1612f1de12f94f975257ea14307fb7dc63ac3a76da","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"f1be872e418a96582b048c095ceeeba012b92ffed8a9658cd1fd9ae0e192372d","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"a55241f2117f15729d174790f386e255fcb224b692325bbe6716dbb1d6874881","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"1b25ab82877ea8fe6ce1ce1f8ac54361f0218bad900af9eb11803994bf67c221"}
|
||||||
|
\ No newline at end of file
|
||||||
|
+{"files":{"Cargo.toml":"3080fa2631c58e35cb1b32642139d8c303a609f8b554bfe69cd659a5374f18b9","LICENSE":"1d2e4bdb9d94ab020e9550136cae9ec73fc699c3c96a9d98078c542e9b93d294","README.md":"630d1a1d123c131bad0fec23173e263ba8ecc064b5cd8446d4cab7ffd197db45","build.rs":"032a1c51963894a421b0535f9227796d88768ac5f665a81d2edced69dc6d106a","src/callbacks.rs":"9d41b7848cea37e8741fa7bc947ba58a83647824b1a0bbe7ff75012c412eab13","src/clang.rs":"5ce27d0772e66f9f2f94a55afd18c98d4a57aed4c1d57da53b025fbbbb81a287","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"8badd4b5ba38b83477c3ee3fc6f9ca79059b5650f5b489b2723c335037e27d92","src/codegen/impl_debug.rs":"e2ffd5b6ed936698aa4b9e7e3459d353383792707ad51f829a18a822f69cab0e","src/codegen/impl_partialeq.rs":"d69e2a9cdf2fdea74a60532109c0a1a75791f5a5ef931b28c5d447fa2915e5d3","src/codegen/mod.rs":"c923594d8d27dede9192dd1081acdedf97d67430f780e3dc4db39b8928a55d71","src/codegen/struct_layout.rs":"9bd0e3455e55e2a1faa4f332a327c2529a21bdfdd0fcb3a45bc5cdd7801d288f","src/extra_assertions.rs":"449549c4a7a50c3f0b06332452b2fb6c9b23f31ca8e5e1656fe6c7f21e8ef7fa","src/features.rs":"a437e6f736c8fba81ff74d90e7ddd142192ae5ffb9240d8c885eb84be6f2fe45","src/ir/analysis/derive_copy.rs":"59c21e299af3a36c6c82d4d16454700238269abd5929ec2d67c8414aebf82c3b","src/ir/analysis/derive_debug.rs":"3530e27ab0e260ec013cee3ad78a81497970c656a8eed589b755cce8caf53040","src/ir/analysis/derive_default.rs":"20e9dac151fadc59a7926ed9276ee8ced47e59c3f0c43f69fdafb75706045aca","src/ir/analysis/derive_hash.rs":"85c73c5660dc311ab6c15a21b69c4c5d2aa380d740decaf59ad594a6728cbe1f","src/ir/analysis/derive_partialeq_or_partialord.rs":"fb9540c324fdfcc9b0ae816e7713af000b11f5e2768c512c22a3082f263bb6bc","src/ir/analysis/has_destructor.rs":"d9aaaceba580b48eb0df4e5537b34b417c51ccdfeb8f6b72484f3bf4992317fe","src/ir/analysis/has_float.rs":"2a0465503d2c8247eaf916bd6a03594f3dc0370533d9a7c58cc5afb86693816c","src/ir/analysis/has_type_param_in_array.rs":"fcb1c78b6000f1f5eb8d8147e2afdaba9eb0e3a81b61e72537048dfdbeea7bcd","src/ir/analysis/mod.rs":"ea5ace45c77e855674bb565ba0fef556f60e3293b0ddcf11d3a5a6ec15ab0648","src/ir/analysis/template_params.rs":"6554dd1240142ec0e7299e678b696725f5cba99243d1c3d1cbf58d4764082fd6","src/ir/annotations.rs":"ef106afcbe6084c18bd13a37ee3c1cdc9596bfb055db8c773d81f8f15fec3208","src/ir/comment.rs":"000481754e5433d7c0886b9ce8b93b64c7ab1ae52867d211c73c7c4b336649a2","src/ir/comp.rs":"7b22f3ff19ca45a6fbfe7ea015109d43f4ddf65b33b47b1c37829fcb87cdff9b","src/ir/context.rs":"80679859b4efa52d74b0c7501bb5951b58c9705a97b96c9fc05134d1abe401c6","src/ir/dot.rs":"d01f1621ab67e368d854a82bd6bb0b8dd52f3c2c733de8eaf81aece9543818cb","src/ir/enum_ty.rs":"3611100df8ddf01b010d2eae1d26a67df022e47b6236b0ed9d1b9b42340ebafd","src/ir/function.rs":"b86e665c6659c32bce39194240e7da6221c5a2ec51b362ad9f6e34f1bc396a6f","src/ir/int.rs":"1f61a472288afe489d9320bc8b13920333ece57891ae8570b4c4f25ab50688e6","src/ir/item.rs":"6f0d13615c6883b5e64c75f6d18d79b978b47aa3599ae1f4c196903d2d2cda68","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"17daab0a80564006de1f6b6190e7d9e6c5eb96990242fe707f8dc676f7110c18","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"828a890acdc8b10c44e69e2ed4a4f5d8c0e734606d3a8cc71658dcf43a49acf4","src/ir/template.rs":"21ba4cbacafce39b4a8013bc97e8054a906a8bc2f45a51aeef3b007caadde221","src/ir/traversal.rs":"eaca9aa6deb3eea9b8d7adc696781c70038796ff43e536bda47e90f84fe87d61","src/ir/ty.rs":"daa95f757288e4bfe84f9724c5f5df127b6f3a4452330691a24a94369db7d993","src/ir/var.rs":"57c8aa9f834c6f06418f7d471b1771bbb915821ef0d194b383be60092edca5f7","src/lib.rs":"d4217ac878659794c5990b1612f1de12f94f975257ea14307fb7dc63ac3a76da","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"f1be872e418a96582b048c095ceeeba012b92ffed8a9658cd1fd9ae0e192372d","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"a55241f2117f15729d174790f386e255fcb224b692325bbe6716dbb1d6874881","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"1b25ab82877ea8fe6ce1ce1f8ac54361f0218bad900af9eb11803994bf67c221"}
|
||||||
|
--- third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
|
||||||
|
+++ third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
|
||||||
|
@@ -10,17 +10,17 @@ use std::collections::hash_map::Entry;
|
||||||
|
use std::ops;
|
||||||
|
|
||||||
|
/// The result of the `HasVtableAnalysis` for an individual item.
|
||||||
|
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
|
||||||
|
+#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
||||||
|
pub enum HasVtableResult {
|
||||||
|
- /// The item has a vtable, but the actual vtable pointer is in a base
|
||||||
|
- /// member.
|
||||||
|
- BaseHasVtable,
|
||||||
|
+ /// The item does not have a vtable pointer.
|
||||||
|
+ No,
|
||||||
|
|
||||||
|
/// The item has a vtable and the actual vtable pointer is within this item.
|
||||||
|
SelfHasVtable,
|
||||||
|
|
||||||
|
- /// The item does not have a vtable pointer.
|
||||||
|
- No
|
||||||
|
+ /// The item has a vtable, but the actual vtable pointer is in a base
|
||||||
|
+ /// member.
|
||||||
|
+ BaseHasVtable,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for HasVtableResult {
|
||||||
|
@@ -29,21 +29,6 @@ impl Default for HasVtableResult {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-impl cmp::PartialOrd for HasVtableResult {
|
||||||
|
- fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
|
||||||
|
- use self::HasVtableResult::*;
|
||||||
|
-
|
||||||
|
- match (*self, *rhs) {
|
||||||
|
- (x, y) if x == y => Some(cmp::Ordering::Equal),
|
||||||
|
- (BaseHasVtable, _) => Some(cmp::Ordering::Greater),
|
||||||
|
- (_, BaseHasVtable) => Some(cmp::Ordering::Less),
|
||||||
|
- (SelfHasVtable, _) => Some(cmp::Ordering::Greater),
|
||||||
|
- (_, SelfHasVtable) => Some(cmp::Ordering::Less),
|
||||||
|
- _ => unreachable!(),
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
impl HasVtableResult {
|
||||||
|
/// Take the least upper bound of `self` and `rhs`.
|
||||||
|
pub fn join(self, rhs: Self) -> Self {
|
||||||
|
--- third_party/rust/bindgen/src/ir/analysis/sizedness.rs
|
||||||
|
+++ third_party/rust/bindgen/src/ir/analysis/sizedness.rs
|
||||||
|
@@ -24,13 +24,14 @@ use std::ops;
|
||||||
|
///
|
||||||
|
/// We initially assume that all types are `ZeroSized` and then update our
|
||||||
|
/// understanding as we learn more about each type.
|
||||||
|
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
|
||||||
|
+#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
||||||
|
pub enum SizednessResult {
|
||||||
|
- /// Has some size that is known to be greater than zero. That doesn't mean
|
||||||
|
- /// it has a static size, but it is not zero sized for sure. In other words,
|
||||||
|
- /// it might contain an incomplete array or some other dynamically sized
|
||||||
|
- /// type.
|
||||||
|
- NonZeroSized,
|
||||||
|
+ /// The type is zero-sized.
|
||||||
|
+ ///
|
||||||
|
+ /// This means that if it is a C++ type, and is not being used as a base
|
||||||
|
+ /// member, then we must add an `_address` byte to enforce the
|
||||||
|
+ /// unique-address-per-distinct-object-instance rule.
|
||||||
|
+ ZeroSized,
|
||||||
|
|
||||||
|
/// Whether this type is zero-sized or not depends on whether a type
|
||||||
|
/// parameter is zero-sized or not.
|
||||||
|
@@ -54,12 +55,11 @@ pub enum SizednessResult {
|
||||||
|
/// https://github.com/rust-lang-nursery/rust-bindgen/issues/586
|
||||||
|
DependsOnTypeParam,
|
||||||
|
|
||||||
|
- /// The type is zero-sized.
|
||||||
|
- ///
|
||||||
|
- /// This means that if it is a C++ type, and is not being used as a base
|
||||||
|
- /// member, then we must add an `_address` byte to enforce the
|
||||||
|
- /// unique-address-per-distinct-object-instance rule.
|
||||||
|
- ZeroSized,
|
||||||
|
+ /// Has some size that is known to be greater than zero. That doesn't mean
|
||||||
|
+ /// it has a static size, but it is not zero sized for sure. In other words,
|
||||||
|
+ /// it might contain an incomplete array or some other dynamically sized
|
||||||
|
+ /// type.
|
||||||
|
+ NonZeroSized,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for SizednessResult {
|
||||||
|
@@ -68,21 +68,6 @@ impl Default for SizednessResult {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-impl cmp::PartialOrd for SizednessResult {
|
||||||
|
- fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
|
||||||
|
- use self::SizednessResult::*;
|
||||||
|
-
|
||||||
|
- match (*self, *rhs) {
|
||||||
|
- (x, y) if x == y => Some(cmp::Ordering::Equal),
|
||||||
|
- (NonZeroSized, _) => Some(cmp::Ordering::Greater),
|
||||||
|
- (_, NonZeroSized) => Some(cmp::Ordering::Less),
|
||||||
|
- (DependsOnTypeParam, _) => Some(cmp::Ordering::Greater),
|
||||||
|
- (_, DependsOnTypeParam) => Some(cmp::Ordering::Less),
|
||||||
|
- _ => unreachable!(),
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
impl SizednessResult {
|
||||||
|
/// Take the least upper bound of `self` and `rhs`.
|
||||||
|
pub fn join(self, rhs: Self) -> Self {
|
||||||
|
--- third_party/rust/bindgen/src/ir/derive.rs
|
||||||
|
+++ third_party/rust/bindgen/src/ir/derive.rs
|
||||||
|
@@ -137,10 +137,10 @@ pub trait CanTriviallyDerivePartialEqOrPartialOrd {
|
||||||
|
///
|
||||||
|
/// Initially we assume that we can derive trait for all types and then
|
||||||
|
/// update our understanding as we learn more about each type.
|
||||||
|
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Ord)]
|
||||||
|
+#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
|
||||||
|
pub enum CanDerive {
|
||||||
|
- /// No, we cannot.
|
||||||
|
- No,
|
||||||
|
+ /// Yes, we can derive automatically.
|
||||||
|
+ Yes,
|
||||||
|
|
||||||
|
/// The only thing that stops us from automatically deriving is that
|
||||||
|
/// array with more than maximum number of elements is used.
|
||||||
|
@@ -148,8 +148,8 @@ pub enum CanDerive {
|
||||||
|
/// This means we probably can "manually" implement such trait.
|
||||||
|
ArrayTooLarge,
|
||||||
|
|
||||||
|
- /// Yes, we can derive automatically.
|
||||||
|
- Yes,
|
||||||
|
+ /// No, we cannot.
|
||||||
|
+ No,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for CanDerive {
|
||||||
|
@@ -158,22 +158,6 @@ impl Default for CanDerive {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-impl cmp::PartialOrd for CanDerive {
|
||||||
|
- fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
|
||||||
|
- use self::CanDerive::*;
|
||||||
|
-
|
||||||
|
- let ordering = match (*self, *rhs) {
|
||||||
|
- (x, y) if x == y => cmp::Ordering::Equal,
|
||||||
|
- (No, _) => cmp::Ordering::Greater,
|
||||||
|
- (_, No) => cmp::Ordering::Less,
|
||||||
|
- (ArrayTooLarge, _) => cmp::Ordering::Greater,
|
||||||
|
- (_, ArrayTooLarge) => cmp::Ordering::Less,
|
||||||
|
- _ => unreachable!()
|
||||||
|
- };
|
||||||
|
- Some(ordering)
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
impl CanDerive {
|
||||||
|
/// Take the least upper bound of `self` and `rhs`.
|
||||||
|
pub fn join(self, rhs: Self) -> Self {
|
Loading…
Reference in a new issue