ecton/CCJSON 13
Cocoa Conjurer lightweight JSON library for iPhone and Mac OS X
Quarks for All website
Simple redmine client to see your tickets
Simple TileView implementation for Android
An experiment in language design -- attempting for "my ideal" language
My personal dotfiles I'm using for my main development environment
ecton/generic-async-http-client 1
async HTTP(S) client
Podcast website and API
Simple script for summarizing downloads from App Store
Flash Messages in Actix Web
issue commentkhonsulabs/bonsaidb
Build issues on windows with outdated sysinfo/ntapi
I'm hoping to get a new release out shortly. I was hoping for last week but some real life stuff got in the way. It should be this week or next. There shouldn't be any additional breaking changes before the 0.5.0 if you wished to switch to use the main branch in the meantime.
Thank you for using BonsaiDb and reporting this. I'll close this issue once I've released the update.
comment created time in 3 days
push eventkhonsulabs/modalcell
commit sha 929cbd65b7af008b09a95ca808c9a642b38b683f
no_std, prepare for initial release
push time in 5 days
push eventkhonsulabs/modalcell
commit sha 67252d174759ae3dabfff125321565b91d7c9719
Default types, threadsafe module, better docs There is a new threadsafe module that exports aliases that make using this crate in a threadsafe crate much simpler. Default generic types are also used to make it so that the root types can be used with minimal generic parameters to automatically operate in single-threaded mode. Mode has been renamed to Behavior, as the implementation wasn't really the modal part of the crate. get_unchecked and get_mut_unchecked have been added as variants that use debug_assert instead of assert. This allows well-tested code to skip all runtime checks when compiled in release mode, while being fully verified when debug_assertions are enabled. These new functions are unsafe due to the potential for undefined behavior if code was never tested with debug_assertions enabled.
push time in 5 days
pull request commentkhonsulabs/modalcell
Thank you for reviewing this code! I definitely wasn't expecting any review that quickly :) I've addressed this by making Mode
an unsafe trait, but I may still seal it. As per Discord, I don't want to preclude other smart ptrs from being able to be used with this crate.
comment created time in 5 days
PR closed khonsulabs/modalcell
since Mode
is not sealed, the ptr_eq
method can be implemented poorly and cause UB when a different Mode is used to access a value than the one that created it.
pr closed time in 5 days
push eventkhonsulabs/modalcell
commit sha 76e565fa3f9f8123ff70ab9d72f15f71db321d01
Mode is now unsafe Closes #1. As per Discord, I've made this trait an unsafe trait. I'm not really sure there's much need for custom Modes. I attempted to create a custom Mode that used an arena/slotmap approach, but I couldn't quite uphold the safety guarantees needed due to SharedCell::clone() requiring mutable access in contexts that shared references may exist. I'm not realy sure how many other smart pointers could really be used with this crate beyond Rc/Arc. I may ultimately still seal the trait.
push time in 5 days
push eventkhonsulabs/modalcell
commit sha c40ade665abd98073c7b43db9b7e6ffebd6cebc4
Documented safety
push time in 6 days
push eventkhonsulabs/modalcell
commit sha 56fa1b8c0930b56b00f2191ad30932fc3b174c60
Enabling github actions
push time in 6 days
push eventkhonsulabs/tagcell
commit sha 0a56c771801eaf4e5ae23afaf4dc3b02a3ddd7db
Refactored, renamed, and redocumented
push time in 6 days
push eventkhonsulabs/tagcell
commit sha fdfab0760a091a80992155fbc954e526aaa1d00e
Updating crate name
push time in 6 days
created repositorykhonsulabs/tagcell
A cell type using a shared tag to control mutable access.
created time in 6 days
created tagkhonsulabs/pulldown-cmark-frontmatter
A Frontmatter extractor for Markdown documents built atop pulldown-cmark
created time in 9 days
push eventkhonsulabs/pulldown-cmark-frontmatter
commit sha a929674ddb1969715cbb308acb0905f86e5d7bbc
Added a changelog
commit sha 56a98825b1d85c172dfe717ff9a3d5286dc72a34
Updating version number
push time in 9 days
PR merged khonsulabs/pulldown-cmark-frontmatter
Added a method, some derives, and made some things public to allow end users to do more things
pr closed time in 9 days
push eventkhonsulabs/pulldown-cmark-frontmatter
commit sha 488cc3b8616f14ba3b764dfb9714c3c5e43f71d6
Added iterate() and return() method to make it easier for people who want the iterator to do more stuff. Also derived Clone and Debug on the Frontmatter and CodeBlock structs so they can be more easily used by the consumer
commit sha 51ea3722e26e44e3cb18ee549b8b0fce8ed52534
Added extract_buffered and extracted This also re-privatizes some items from #3. These two functions should add the desired functionality while still allowing the minimal allocation paths as well.
push time in 9 days
pull request commentkhonsulabs/pulldown-cmark-frontmatter
Added iterate_and_return() method, made some things public
I have some ideas on how I think this would best fit into the crate so I'll take this across the finish line. Thank you for the ideas on how to make this crate easier to use!
comment created time in 9 days
Pull request review commentkhonsulabs/pulldown-cmark-frontmatter
Added iterate_and_return() method, made some things public
where self.frontmatter }+ /// Iterate over the FrontmatterExtractor iterator and stop after it has finished+ /// searching for frontmatter. Returns the Iterator so you can do additional parsing+ /// on the rest of the document. The optional first H1 title header and frontmatter+ /// code block have been consumed+ pub fn iterate_and_return(mut self) -> FrontmatterExtractor<'a, T> {+ while let Some(_) = self.next() {
Yes, actually after digging into this further, I don't see a better way to implement this without causing this crate to add extra allocations. This is because the extractor only removes the code block while returning the other events such as the header or the document's first event.
Since this approach is going to require adding allocations, I think adding a new API that extracts the frontmatter in one step and retains the intermediate events in a Vec would be a good approach. The DocumentAttributeParserState
can have a new variant which could contain the vec's drain iterator to pop events off of in the Iterator::next
implementation.
comment created time in 10 days
Pull request review commentkhonsulabs/pulldown-cmark-frontmatter
Added iterate_and_return() method, made some things public
where self.frontmatter }+ /// Iterate over the FrontmatterExtractor iterator and stop after it has finished+ /// searching for frontmatter. Returns the Iterator so you can do additional parsing+ /// on the rest of the document. The optional first H1 title header and frontmatter+ /// code block have been consumed+ pub fn iterate_and_return(mut self) -> FrontmatterExtractor<'a, T> {+ while let Some(_) = self.next() {
If the document doesn't contain frontmatter, I believe this will cause an Event to be dropped and never returned from the iterator.
comment created time in 10 days
Pull request review commentkhonsulabs/pulldown-cmark-frontmatter
Added iterate_and_return() method, made some things public
where } } -enum DocumentAttributeParserState<'a> {+pub enum DocumentAttributeParserState<'a> {
If this is pub, it should be documented. But, I don't think this should be exposed on the public API.
comment created time in 10 days
Pull request review commentkhonsulabs/pulldown-cmark-frontmatter
Added iterate_and_return() method, made some things public
where /// The detected frontmatter, if any. pub frontmatter: Option<Frontmatter<'a>>, source: T,- state: DocumentAttributeParserState<'a>,+ pub state: DocumentAttributeParserState<'a>,
Why was this made public? It seems like the new function adds the desired functionality without leaking implementation details.
comment created time in 10 days
Pull request review commentkhonsulabs/pulldown-cmark-frontmatter
Added iterate_and_return() method, made some things public
where self.frontmatter }+ /// Iterate over the FrontmatterExtractor iterator and stop after it has finished+ /// searching for frontmatter. Returns the Iterator so you can do additional parsing+ /// on the rest of the document. The optional first H1 title header and frontmatter+ /// code block have been consumed+ pub fn iterate_and_return(mut self) -> FrontmatterExtractor<'a, T> {
Since this function always returns self, why wouldn't this take &mut self
?
comment created time in 10 days