Auto merge of #133561 - GuillaumeGomez:rollup-g4upmv4, r=GuillaumeGomez
Rollup of 12 pull requests Successful merges: - #129409 (Expand std::os::unix::fs::chown() doc with a warning) - #133320 (Add release notes for Rust 1.83.0) - #133368 (Delay a bug when encountering an impl with unconstrained generics in `codegen_select`) - #133428 (Actually use placeholder regions for trait method late bound regions in `collect_return_position_impl_trait_in_trait_tys`) - #133512 (Add `as_array` and `as_mut_array` conversion methods to slices.) - #133519 (Check `xform_ret_ty` for WF in the new solver to improve method winnowing) - #133520 (Structurally resolve before applying projection in borrowck) - #133534 (extend group-forbid-always-trumps-cli test) - #133537 ([rustdoc] Fix new clippy lints) - #133543 ([AIX] create shim for lgammaf_r) - #133547 (rustc_span: Replace a `HashMap<_, ()>` with `HashSet`) - #133550 (print generated doc paths) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
f005c7437d
86 changed files with 1025 additions and 442 deletions
|
@ -987,6 +987,11 @@ impl DirBuilderExt for fs::DirBuilder {
|
|||
/// Changing the group typically requires either being the owner and a member of the group, or
|
||||
/// having privileges.
|
||||
///
|
||||
/// Be aware that changing owner clears the `suid` and `sgid` permission bits in most cases
|
||||
/// according to POSIX, usually even if the user is root. The sgid is not cleared when
|
||||
/// the file is non-group-executable. See: <https://www.man7.org/linux/man-pages/man2/chown.2.html>
|
||||
/// This call may also clear file capabilities, if there was any.
|
||||
///
|
||||
/// If called on a symbolic link, this will change the owner and group of the link target. To
|
||||
/// change the owner and group of the link itself, see [`lchown`].
|
||||
///
|
||||
|
|
|
@ -26,6 +26,7 @@ extern "C" {
|
|||
pub fn tgamma(n: f64) -> f64;
|
||||
pub fn tgammaf(n: f32) -> f32;
|
||||
pub fn lgamma_r(n: f64, s: &mut i32) -> f64;
|
||||
#[cfg(not(target_os = "aix"))]
|
||||
pub fn lgammaf_r(n: f32, s: &mut i32) -> f32;
|
||||
|
||||
pub fn acosf128(n: f128) -> f128;
|
||||
|
@ -56,6 +57,13 @@ extern "C" {
|
|||
}}
|
||||
}
|
||||
|
||||
// On AIX, we don't have lgammaf_r only the f64 version, so we can
|
||||
// use the f64 version lgamma_r
|
||||
#[cfg(target_os = "aix")]
|
||||
pub unsafe fn lgammaf_r(n: f32, s: &mut i32) -> f32 {
|
||||
lgamma_r(n.into(), s) as f32
|
||||
}
|
||||
|
||||
// On 32-bit x86 MSVC these functions aren't defined, so we just define shims
|
||||
// which promote everything to f64, perform the calculation, and then demote
|
||||
// back to f32. While not precisely correct should be "correct enough" for now.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue