aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-28book: Add note to remember to choose targetCuriouslyCurious
2021-07-22Merge #501bors[bot]
501: Propogate the task attributes to the spawn handles r=AfoHT a=crawford This allows tasks to be gated by `cfg` attributes when also using monotonics. For example: ```rust #[cfg(feature = "logging")] #[task(shared = [logger])] fn logger_init(mut cx: logger_init::Context) { /* ... */ } ``` Without this change, the reschedule_at() implementation is unconditionally included even though it references the SpawnHandle from its task module, which is _conditionally_ included. This resulted in compiler errors like the following: ``` error[E0433]: failed to resolve: use of undeclared crate or module `logger_init` --> src/main.rs:243:8 | 243 | fn logger_init(mut cx: logger_init::Context) { | ^^^^^^^^^^^ use of undeclared crate or module `logger_init` ``` Co-authored-by: Alex Crawford <rtic@code.acrawford.com>
2021-07-22Merge #502bors[bot]
502: book/resources: highlight that `#[lock_free]` includes a compile-time check r=AfoHT a=japaric for the "same priority requirement"; this prevents data races Co-authored-by: Jorge Aparicio <jorge.aparicio@ferrous-systems.com>
2021-07-22Merge #500bors[bot]
500: migration/0.5: cover #[lock_free] r=AfoHT a=japaric I think this completes #488 Co-authored-by: Jorge Aparicio <jorge.aparicio@ferrous-systems.com>
2021-07-22book/resources: highlight that `#[lock_free]` includes a compile-time checkJorge Aparicio
for the "same priority requirement"; this prevents data races
2021-07-22Propogate the task attributes to the spawn handlesAlex Crawford
This allows tasks to be gated by `cfg` attributes when also using monotonics. For example: ```rust #[cfg(feature = "logging")] #[task(shared = [logger])] fn logger_init(mut cx: logger_init::Context) { /* ... */ } ``` Without this change, the reschedule_at() implementation is unconditionally included even though it references the SpawnHandle from its task module, which is _conditionally_ included. This resulted in compiler errors like the following: ``` error[E0433]: failed to resolve: use of undeclared crate or module `logger_init` --> src/main.rs:243:8 | 243 | fn logger_init(mut cx: logger_init::Context) { | ^^^^^^^^^^^ use of undeclared crate or module `logger_init` ```
2021-07-22Merge #498bors[bot]
498: book: update the resources chapter r=AfoHT a=japaric see individual commit messages for details. what's still left to do is adjust the very last section about `#[task_local]` and `#[lock_free]` but I plan to do that as a follow up. I didn't find an in-tree example for those two attributes (are they field attributes? where do they fit in the syntax?); a quick scan of the rtic-syntax crate seems to indicate that `task_local` has been removed (?) and that `lock_free` still exists. Co-authored-by: Jorge Aparicio <jorge.aparicio@ferrous-systems.com>
2021-07-22migration/0.5: cover #[lock_free]Jorge Aparicio
I think this completes #488
2021-07-22book/resources: rm #[task_local] mention; add #[lock_free] exampleJorge Aparicio
the #[task_local] attribute was removed
2021-07-22update expected example output (take 2)Jorge Aparicio
2021-07-22update expected example outputJorge Aparicio
2021-07-22comment out line that doesn't compileJorge Aparicio
2021-07-21book/resources: remove mentions of the field attribute #[init(<expr>)]Jorge Aparicio
it no longer exists. all resources are now late resources
2021-07-21book/resources: do not use the lock API in the very first exampleJorge Aparicio
instead stick to `#[local]` resources
2021-07-21Merge #496bors[bot]
496: update the 0.5.x -> 0.6.0 migration guide r=AfoHT a=japaric to use the new resources syntax I also reordered the sections to cover all the resource API first before covering the spawn API I've also added a section about the old `static mut` variable transform Co-authored-by: Jorge Aparicio <jorge.aparicio@ferrous-systems.com>
2021-07-21use tuple struct syntax for Monotonics everywhereJorge Aparicio
2021-07-21update the 0.5.x -> 0.6.0 migration guideJorge Aparicio
to use the new resources syntax I also reordered the sections to cover all the resource API first before covering the spawn API I've also added a section about the old `static mut` variable transform
2021-07-20Merge #497bors[bot]
497: Change misleading documentation left over by PR #464 r=AfoHT a=Cat-Ion Co-authored-by: Valentin Ochs <a@0au.de>
2021-07-20Change misleading documentation left over by PR #464Valentin Ochs
2021-07-20Merge #464bors[bot]
464: const generics r=AfoHT a=burrbull Co-authored-by: Andrey Zgarbul <zgarbul.andrey@gmail.com> Co-authored-by: mriise <mark.riise26@gmail.com> Co-authored-by: Zgarbul Andrey <zgarbul.andrey@gmail.com>
2021-07-20rustfmtAndrey Zgarbul
2021-07-20Merge pull request #1 from mriise/constZgarbul Andrey
fix pool example
2021-07-20fix pool examplemriise
2021-07-09const genericsAndrey Zgarbul
2021-07-09Version fixEmil Fresk
2021-07-09Merge #494bors[bot]
494: Resoures take 2 r=korken89 a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-07-09Update changelog and versionEmil Fresk
2021-07-08Final versionsEmil Fresk
2021-07-08Cleanup from review (needs releases to compile)Emil Fresk
2021-07-07Fixing testsEmil Fresk
2021-07-07Use git depsEmil Fresk
2021-07-07Full local resource syntax workingEmil Fresk
2021-07-06Minimal app now compilesEmil Fresk
2021-07-05Started workEmil Fresk
2021-07-02Merge #492bors[bot]
492: Fix syntax error in migration guide r=korken89 a=newAM Minor problem with a minor fix. Co-authored-by: Alex Martens <alexmgit@protonmail.com>
2021-07-01Fix syntax error in migration guideAlex Martens
2021-06-28Merge #491bors[bot]
491: Fix small typo in readme r=korken89 a=vladinator1000 Co-authored-by: Vlady Veselinov <vladkodmc@gmail.com>
2021-06-28Fix small typo in readmeVlady Veselinov
2021-06-07Merge #489bors[bot]
489: Allow zero sized LinkedList r=korken89 a=jhillyerd If one configures a monotonic in alpha4, but doesn't use it, TimerQueue attempts to create a zero-sized LinkedList, which causes an underflow. This PR allows for zero-sized linked lists. Co-authored-by: James Hillyerd <james@hillyerd.com>
2021-06-06assert emptyJames Hillyerd
2021-06-06Allow zero sized LinkedListJames Hillyerd
2021-05-28Merge #486bors[bot]
486: Fixed changelog r=korken89 a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-05-28Fixed changelogEmil Fresk
2021-05-27Merge #485bors[bot]
485: New codegen structure to eliminate issues with paths r=korken89 a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-05-27Prepare release alpha.4Emil Fresk
2021-05-23Minor cleanupEmil Fresk
2021-05-06Flattened the _ out of itEmil Fresk
2021-04-22Merge #469bors[bot]
469: Goodbye static mut r=AfoHT a=korken89 Squashed and updated version of @perlindgren branch. In release there are 0 bytes difference for all examples :tada: For debug we see a bloat of ~1-2% worst case, commonly less. Complete diff of sizes for all examples (first is goodbye static mut, second is master): ``` < 27220 0 28 27248 6a70 spawn --- > 27092 0 28 27120 69f0 spawn < 16916 0 44 16960 4240 late --- > 16836 0 44 16880 41f0 late < 15952 0 12 15964 3e5c type-usage --- > 15872 0 12 15884 3e0c type-usage < 22068 0 44 22112 5660 cfg --- > 21812 0 44 21856 5560 cfg < 34784 0 40 34824 8808 periodic --- > 34496 0 40 34536 86e8 periodic < 22308 0 32 22340 5744 task --- > 21972 0 32 22004 55f4 task < 15076 8 24 15108 3b04 task-local --- > 14980 8 24 15012 3aa4 task-local < 12884 0 24 12908 326c destructure --- > 12820 0 24 12844 322c destructure < 10128 0 16 10144 27a0 init --- > 10112 0 16 10128 2790 init < 19044 0 20 19064 4a78 task_named_main --- > 18916 0 20 18936 49f8 task_named_main < 27252 0 28 27280 6a90 extern_spawn --- > 27124 0 28 27152 6a10 extern_spawn < 10176 0 16 10192 27d0 idle --- > 10160 0 16 10176 27c0 idle < 13972 0 16 13988 36a4 resource --- > 13940 0 16 13956 3684 resource < 16228 0 24 16252 3f7c multilock --- > 16116 0 24 16140 3f0c multilock < 14660 0 16 14676 3954 lock --- > 14628 0 16 14644 3934 lock < 10416 0 16 10432 28c0 task-local-minimal --- > 10400 0 16 10416 28b0 task-local-minimal < 14164 0 24 14188 376c generics --- > 14148 0 24 14172 375c generics < 30644 0 48 30692 77e4 message --- > 30308 0 48 30356 7694 message < 28964 0 36 29000 7148 spawn2 --- > 28724 0 36 28760 7058 spawn2 < 15952 0 8 15960 3e58 t-schedule-core-stable --- > 15872 0 8 15880 3e08 t-schedule-core-stable < 17408 0 20 17428 4414 t-cfg --- > 17248 0 20 17268 4374 t-cfg < 12948 0 16 12964 32a4 hardware --- > 12932 0 16 12948 3294 hardware < 54640 0 104 54744 d5d8 t-schedule --- > 53696 0 104 53800 d228 t-schedule < 26132 0 548 26680 6838 pool --- > 25876 0 548 26424 6738 pool < 22372 0 56 22428 579c cfg-whole-task --- > 22100 0 56 22156 568c cfg-whole-task < 38292 0 76 38368 95e0 schedule --- > 37828 0 76 37904 9410 schedule < 21216 0 32 21248 5300 t-spawn --- > 20880 0 32 20912 51b0 t-spawn < 22820 0 56 22876 595c capacity --- > 22580 0 56 22636 586c capacity < 17060 0 48 17108 42d4 static --- > 16980 0 48 17028 4284 static < 20288 0 24 20312 4f58 ramfunc --- > 20096 0 24 20120 4e98 ramfunc < 11760 0 20 11780 2e04 t-resource --- > 11664 0 20 11684 2da4 t-resource < 13028 0 16 13044 32f4 only-shared-access --- > 13012 0 16 13028 32e4 only-shared-access < 16576 0 16 16592 40d0 not-sync --- > 16432 0 16 16448 4040 not-sync < 13892 0 16 13908 3654 resource-user-struct --- > 13860 0 16 13876 3634 resource-user-struct < 37472 0 64 37536 92a0 double_schedule --- > 36960 0 64 37024 90a0 double_schedule < 17648 0 8 17656 44f8 t-stask-main --- > 17520 0 8 17528 4478 t-stask-main < 8816 0 4 8820 2274 t-late-not-send --- > 8800 0 4 8804 2264 t-late-not-send < 23280 0 32 23312 5b10 types --- > 23120 0 32 23152 5a70 types ``` Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-04-22Keep commentsEmil Fresk
2021-04-22Merge #481bors[bot]
481: use super::xx now works with monotonics r=AfoHT a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>