File tree Expand file tree Collapse file tree 2 files changed +23
-6
lines changed
Expand file tree Collapse file tree 2 files changed +23
-6
lines changed Original file line number Diff line number Diff line change 99 fail-fast : false
1010 matrix :
1111 build_config : [ Debug, Release ]
12- name : [ linux, macOS, windows ]
12+ # name: [ linux, macOS, windows ]
1313 include :
14- - name : Linux
15- os : ubuntu-latest
14+ # - name: Linux
15+ # os: ubuntu-latest
1616 - name : macOS
17- os : macos-latest
18- - name : Windows
19- os : windows-latest
17+ os : macos-15
18+ # - name: Windows
19+ # os: windows-latest
2020 runs-on : ${{ matrix.os }}
2121 steps :
2222 - uses : actions/checkout@v4
Original file line number Diff line number Diff line change @@ -15,3 +15,20 @@ This is an experiment to see how much of sync and send from Rust/Swift can be im
1515- Template errors can be difficult to navigate
1616- Just having to think about the types passed to scl types (e.g. safe_thread) can help the user think in a more thread-safe way
1717
18+ ___
19+ ## To Do:
20+ ### ` sync ` /` send `
21+ - [x] ` scl::thread ` - A safe thread that encapsulates running a thread and checks arguments to that thread conform to the send trait
22+ - [x] ` scl::async ` - Similar to ` scl::thread ` but around ` std::async `
23+ - [x] ` scl::synchronized_value ` - A wrapper around a mutex and an object to provide safe concurrent access to it, conforms to the ` sync ` trait
24+ - [ ] Reflection based implementation that checks ` sync ` recursively
25+ ### Data race checker
26+ - [ ] ` check_state ` and ` scoped_check ` to manually check for data-races on function calls
27+ - [ ] ` date_race_registry ` to avoid having to use a ` check_state ` member
28+ ### Meta-classes
29+ - [ ] ` data_race_checked ` - Checks for data races during every function call
30+ - [ ] ` mutex ` - Locks access during every function call, conforms to ` sync `
31+ - [ ] ` shared_mutex ` - Locks shared access during every const function call, unique access otherwise, conforms to ` sync `
32+ - [ ] ` cow ` copy-on-write
33+ - [ ] ` arc ` automatic-reference-counting
34+ - [ ] ` actor ` actor implementation using senders
You can’t perform that action at this time.
0 commit comments