profile
viewpoint

Amanieu/asyncplusplus 1202

Async++ concurrency framework for C++11

Amanieu/atomic-rs 195

Generic Atomic<T> type for Rust

Amanieu/corosensei 116

A fast and safe implementation of stackful coroutines in Rust

Amanieu/a-tale-of-binary-translation 38

Simple RISC-V emulator presented at Rust Nation 2023

Amanieu/cstr_core 37

Implementation of CStr and CString for no_std environments

Amanieu/cbeardy 7

A markov chain generator written in C.

Amanieu/aHash 0

aHash is a non-cryptographic hashing algorithm that uses the AES hardware instruction

Amanieu/arrayvec 0

A vector with a fixed capacity. (Rust)

Amanieu/backtrace-rs 0

Backtraces in Rust

Amanieu/benchmarks 0

Some benchmarks of different languages

create barnchAmanieu/rust

branch : panic-oom-payload2

created branch time in 4 hours

PR opened rust-lang/rust

Report allocation errors as panics, second attempt

Attempt to re-land #109507 now that #110771 is fixed.


OOM is now reported as a panic but with a custom payload type (AllocErrorPanicPayload) which holds the layout that was passed to handle_alloc_error.

This should be reviewed one commit at a time:

  • The first commit adds AllocErrorPanicPayload and changes allocation errors to always be reported as panics.
  • The second commit removes #[alloc_error_handler] and the alloc_error_hook API.

ACP: https://github.com/rust-lang/libs-team/issues/192

Closes #51540 Closes #51245

+175 -888

0 comment

54 changed files

pr created time in 4 hours

pull request commentrust-lang/rust

Update stdarch submodule

The FCP for it has already passed: https://github.com/rust-lang/stdarch/pull/1399

Amanieu

comment created time in 4 hours

issue commentAmanieu/thread_local-rs

Weird bucket size for 2nd bucket

I don't think I want this in my crate, it's a lot of complexity for a feature that is rarely needed. But feel free to keep your fork going or even publish it on crates.io if you feel it would be useful to others.

terrarier2111

comment created time in 5 hours

pull request commentrust-lang/rust

Don't drain-on-drop in DrainFilter impls of various collections.

hashbrown 0.14 is now released, so this can move forward. Also a perf run would be nice since hashbrown has had performance improvements since 0.13.

@bors rollup=never

the8472

comment created time in 5 hours

created tagrust-lang/hashbrown

tagv0.14.0

Rust port of Google's SwissTable hash map

created time in 5 hours

issue closedAmanieu/parking_lot

Time for a new parking_lot_core release?

There have been quite a few changes since the Feb 1 0.9.7 release @Amanieu ....

Do you have an ETA for the next release?

Thanks!

closed time in 5 hours

jqnatividad

issue commentAmanieu/parking_lot

Time for a new parking_lot_core release?

Done!

jqnatividad

comment created time in 5 hours

issue commentAmanieu/thread_local-rs

Weird bucket size for 2nd bucket

Sure that sounds fine.

terrarier2111

comment created time in 5 hours

created tagAmanieu/parking_lot

taglock_api-0.4.10

Compact and efficient synchronization primitives for Rust. Also provides an API for creating custom synchronization primitives.

created time in 5 hours

created tagAmanieu/parking_lot

tagcore-0.9.8

Compact and efficient synchronization primitives for Rust. Also provides an API for creating custom synchronization primitives.

created time in 5 hours

push eventAmanieu/parking_lot

Amanieu d'Antras

commit sha e9f9f40b860d7de8238a8c07aee3ae05992ab681

Release lock_api 0.4.10 and parking_lot_core 0.9.8

view details

push time in 5 hours

pull request commentrust-lang/hashbrown

Prepare release of v0.14.0

@bors r+

Amanieu

comment created time in 6 hours

push eventAmanieu/hashbrown

Amanieu d'Antras

commit sha 32b125ea62680aac4ecc1107cf2d927b6f15232b

Update CHANGELOG.md Co-authored-by: nickelc <constantin.nickel@gmail.com>

view details

push time in 6 hours

PR merged Amanieu/parking_lot

Make `RwLock` guards `Sync` again

This was removed in #262 because there was a soundness issue when R: !Sync, but the fix was a bit too radical.

+4 -0

0 comment

1 changed file

a1phyr

pr closed time in 6 hours

push eventAmanieu/parking_lot

Benoît du Garreau

commit sha c5c8126f0a98614ed427d2a4aff8542269b652dc

Make `RwLock` guards `Sync` again

view details

Amanieu d'Antras

commit sha 6962d2ff5131db6201dd2a2c0068255d0298533e

Merge pull request #370 from a1phyr/rwlock_guard_sync

view details

push time in 6 hours

pull request commentfaern/parking_lot

Initial review of parking_lot submodule

Rust's standard library now has optimized implementations of locks on several platforms (Windows & Linux notably). So there is much less benefit to including parking_lot now.

alexcrichton

comment created time in 9 hours

push eventAmanieu/parking_lot

Amanieu d'Antras

commit sha 3afcf68d0aa1e94c76b7332a22e3b07b7f178a07

Fix incorrect fairness claim in `RwLockReadGuard::unlocked` docs Fixes #381

view details

push time in 9 hours

issue closedAmanieu/parking_lot

lock_api: `RwLockReadGuard::unlocked` incorrectly claims fairness

RwLockReadGuard::unlocked:

https://github.com/Amanieu/parking_lot/blob/de2a4023a652833688788b797c6b332e2466e8f0/lock_api/src/rwlock.rs#L1248-L1265

RwLockReadGuard::unlocked_fair:

https://github.com/Amanieu/parking_lot/blob/de2a4023a652833688788b797c6b332e2466e8f0/lock_api/src/rwlock.rs#L1290-L1307

Fix: just remove the line about being fair from RwLockReadGuard::unlocked's documentation.

This mistake is not present on upgradable read guards, write guards, nor mutex guards.

closed time in 9 hours

CAD97

issue commentAmanieu/thread_local-rs

Weird bucket size for 2nd bucket

It allows this line to work:

let bucket = usize::from(POINTER_WIDTH) - id.leading_zeros() as usize;

Though I'm open to other ideas for bucket allocation layout.

terrarier2111

comment created time in 9 hours

issue commentAmanieu/thread_local-rs

Tests occasionally fail (Apple M2 Max)

I can't reproduce this and it's very difficult for me to figure out what is going on without being able to see it myself. It could even be something specific to macOS.

SergioBenitez

comment created time in 9 hours

PR merged Amanieu/parking_lot

Add `with_upgraded` API to upgradable read locks

RwLockUpgradableReadGuard::upgrade takes the guard by value, so there is currently no way to turn an &mut to an upgradable guard into an &mut to the underlying data.

This PR remedies that with a closure-based API. RwLockUpgradableReadGuard::with_upgraded() takes a mutable reference to an upgradable guard, and:

  1. Upgrades the lock
  2. Retrieves an &mut to the underlying data
  3. Passes the &mut to a user-provided closure
  4. Downgrades the lock back to an upgradable read
  5. Returns the result of the closure.
+241 -8

2 comments

1 changed file

Jules-Bertholet

pr closed time in 11 hours

push eventAmanieu/parking_lot

Jules Bertholet

commit sha 7f83d8dd8f7c2435d1cecc3e6b3a458c2836ffea

Add `with_upgraded` API to upgradeable read locks Allows getting an `&mut` to the data from an `&mut` to the guard.

view details

Amanieu d'Antras

commit sha 8d64a4a6119e38b61ffb341e5a8759d4a8606506

Merge pull request #386 from Jules-Bertholet/with-upgraded

view details

push time in 11 hours

pull request commentrust-lang/rust

Improved std support for ps vita target

@bors r+

nikarh

comment created time in 11 hours

issue commentrust-lang/libc

Breaking change in v0.2.145 for MUSL's open64

I agree with changing this to a use, I think this is the best way forward.

newpavlov

comment created time in 12 hours

Pull request review commentrust-lang/rust

Improved std support for ps vita target

 impl FileAttr {                             currently",         ))     }++    #[cfg(target_os = "vita")]+    pub fn created(&self) -> io::Result<SystemTime> {+        Ok(SystemTime::new(self.stat.st_ctime as i64, 0))+    }

This seems incorrect: st_ctime is the time the file metadata was last modified, not the creation time.

nikarh

comment created time in 13 hours

Pull request review commentrust-lang/rust

Improved std support for ps vita target

 impl Socket {         Ok(passcred != 0)     } -    #[cfg(not(any(target_os = "solaris", target_os = "illumos")))]+    #[cfg(not(any(target_os = "solaris", target_os = "illumos", target_os = "vita")))]     pub fn set_nonblocking(&self, nonblocking: bool) -> io::Result<()> {         let mut nonblocking = nonblocking as libc::c_int;         cvt(unsafe { libc::ioctl(self.as_raw_fd(), libc::FIONBIO, &mut nonblocking) }).map(drop)     } +    #[cfg(target_os = "vita")]+    pub fn set_nonblocking(&self, nonblocking: bool) -> io::Result<()> {+        let option = match nonblocking {+            true => 1,+            false => 0,+        };

This can just be as c_int.

nikarh

comment created time in 13 hours

PullRequestReviewEvent
PullRequestReviewEvent

issue commentrust-lang/rust

What is the behavior of `std::env::split_paths` when given an empty string?

We could just make the behavior platform-dependent and document it as such. The general understanding being that this work the same way OS path lookup does.

lopopolo

comment created time in 19 hours

more