Bennet Bleßmann
1114700ce6
ignore test making network requests
2025-08-01 20:06:07 +02:00
Bennet Bleßmann
dea43a0244
update docs
2025-08-01 19:42:02 +02:00
Bennet Bleßmann
0c2c6124eb
support cstr as an ffi return type and do some more restructuring
2025-08-01 19:41:56 +02:00
Bennet Bleßmann
9cccd509e3
no longer skip f32 and f64 now that they work consistently
2025-08-01 19:11:02 +02:00
Bennet Bleßmann
36bdab84ba
further cleanup
...
- replace macros with functions
- stop abusing allocation error
2025-08-01 19:10:49 +02:00
Bennet Bleßmann
cf51338a77
further ffi cleanup
2025-08-01 19:10:38 +02:00
Bennet Bleßmann
f738b42e49
don't panic on unexpected/invalid value
2025-08-01 19:10:27 +02:00
Bennet Bleßmann
f45426e8ab
also accept rust type name
2025-08-01 19:10:15 +02:00
Bennet Bleßmann
3d2439c92b
use libffi::middle instead of libffi::low were possible
2025-08-01 19:09:56 +02:00
Bennet Bleßmann
6205f2f1f1
add a simple ffi test using structs
2025-08-01 19:08:32 +02:00
Bennet Bleßmann
760e1d2aac
fix UB in ffi tests
2025-08-01 19:08:24 +02:00
Bennet Bleßmann
e1246f0c83
add new test helper
2025-08-01 19:08:02 +02:00
Bennet Bleßmann
bd1f8bb37e
make ffi support full {i,u}64 range
2025-08-01 19:07:07 +02:00
Bennet Bleßmann
620459ea1e
fix {i,u}64 in ffi
2025-08-01 18:37:48 +02:00
Bennet Bleßmann
d2502b0520
fix all but {i,u}64
2025-08-01 18:37:35 +02:00
Bennet Bleßmann
34eab2e73a
fix crash when trying to load and ffi library with an invalid type specification
2025-08-01 18:22:15 +02:00
Bennet Bleßmann
db3f2717bc
add more ffi tests
2025-08-01 18:22:14 +02:00
Bennet Bleßmann
7227e1d97c
cleanup and fix miri & cross-compile
2025-08-01 18:22:13 +02:00
Bennet Bleßmann
9d8906da30
add ffi tests using f64
2025-08-01 18:22:01 +02:00
Bennet Bleßmann
4f04d2dfca
replace .skip(n).next() with .nth(n)
2025-07-31 21:47:12 +02:00
Bennet Bleßmann
de89a78cbb
remove unecessary cast
2025-07-31 21:47:11 +02:00
Bennet Bleßmann
e7600884fb
remove unecessary into_iter
2025-07-31 21:47:11 +02:00
Bennet Bleßmann
3365cffa96
prefere for loop
2025-07-31 21:47:10 +02:00
Bennet Bleßmann
df3f1236f7
replace always erroring of_else with map_err
2025-07-31 21:47:09 +02:00
Bennet Bleßmann
8766851919
replace single non-wildcard pattern match with if let
2025-07-31 21:47:09 +02:00
Bennet Bleßmann
014d1b0095
remove already implied must_use
2025-07-31 21:47:08 +02:00
Bennet Bleßmann
c885d1a7e7
collaps els-if / if-if
2025-07-31 21:47:08 +02:00
Bennet Bleßmann
7593f88d5a
ingore nerver looping loop, but add a todo
2025-07-31 21:47:07 +02:00
Bennet Bleßmann
6885074006
fix clippy::unit_arg
2025-07-31 21:47:07 +02:00
Bennet Bleßmann
73cc872b50
check not empty instead of len > 0
2025-07-31 21:47:06 +02:00
Bennet Bleßmann
fae5e13bd5
impl From rather than Into
2025-07-31 21:47:05 +02:00
Bennet Bleßmann
6d7c217227
fix unecessary mut
2025-07-31 21:47:05 +02:00
Bennet Bleßmann
166ec02973
ignore clippy::unbuffered_bytes in test helper functions
2025-07-31 21:47:04 +02:00
Bennet Bleßmann
1d26f98688
fix legacy int constants
2025-07-31 21:47:04 +02:00
Bennet Bleßmann
58b9a6ad69
ignore wrong self convention
2025-07-31 21:47:03 +02:00
Bennet Bleßmann
a639fec153
fix match/if-let can be simplified to ?
2025-07-31 21:47:03 +02:00
Bennet Bleßmann
495bcd73f2
fix unecessary return
2025-07-31 21:46:52 +02:00
Bennet Bleßmann
ae3019d923
fix unecessary reference/dereference
2025-07-31 21:46:51 +02:00
Bennet Bleßmann
72631b3e0b
fix clone on copy values
2025-07-31 21:28:39 +02:00
Bennet Bleßmann
8cc74b2af7
fix clippy::uninlined_format_args
2025-07-31 21:26:08 +02:00
Bennet Bleßmann
7199e9a2db
remove outdated comment
2025-07-31 20:07:57 +02:00
Bennet Bleßmann
edf21494d9
also run CI on rebis-dev
2025-07-31 20:07:07 +02:00
Bennet Bleßmann
725def07cd
fix crash when loading html
2025-07-07 22:39:47 -07:00
Bennet Bleßmann
cbdd0fbf15
make Fixnum::build_with harder to accidentally misuse
...
change trait bound order for better
2025-07-07 22:39:34 -07:00
Bennet Bleßmann
7a5a5bb795
fix spelling and grammar errors found by mthom
...
https://github.com/mthom/scryer-prolog/pull/2791#discussion_r1930025598
2025-01-27 20:40:12 +01:00
Bennet Bleßmann
b74c8139d1
fix ci and update all used actions
2025-01-23 19:53:59 +01:00
Bennet Bleßmann
6dd0ec0b98
fix miri
2024-10-04 20:25:02 +02:00
Bennet Bleßmann
e9f03c89a6
fix issue #2588
2024-10-04 19:25:34 +02:00
Bennet Bleßmann
8f41c1aa7e
Merge remote-tracking branch 'upstream/master' into issue-2588
2024-10-04 19:11:26 +02:00
Bennet Bleßmann
442636c131
add test for load_html
2024-10-04 19:09:35 +02:00
Bennet Bleßmann
c24a51b633
fix looping from issue 2467
2024-08-17 23:37:12 +02:00
Bennet Bleßmann
620bf385d1
include the type name for better pin-pointing of the error source
...
- only done here as all other places are non-generic and the panic already includes file and line info, only here are we in a generic context and might need more differentiation
2024-08-11 21:53:02 +02:00
Bennet Bleßmann
cc51b8150d
check whether (re-)allocation succeeded
...
fixes mthom/scryer-prolog#2449
2024-08-11 19:20:33 +02:00
Bennet Bleßmann
775b14c537
add detail to comment
2024-08-11 19:20:27 +02:00
Bennet Bleßmann
058b9c5e51
switch invalid term from type to domain error
2024-08-05 21:25:44 +02:00
Bennet Bleßmann
deed6fb984
fix remaining use of declaration instead of directive
2024-08-05 21:25:43 +02:00
Bennet Bleßmann
2d04c0dcf8
remove obsolete ExistenceError::Declaration
2024-08-05 21:25:43 +02:00
Bennet Bleßmann
5a0abd713e
change declaration to directive
2024-08-05 21:25:43 +02:00
Bennet Bleßmann
df33da111e
ajust/add devlaration errors to be more standard compliant
2024-08-05 21:25:43 +02:00
Bennet Bleßmann
17a816eff4
impl PartialEq<str> and PartialEq<&str> for Atom
2024-08-05 21:25:42 +02:00
Bennet Bleßmann
880e22d164
adjust errors to be more standard compliant
2024-08-05 21:25:42 +02:00
Bennet Bleßmann
c16d2d4147
fix compilation for 1.77
2024-08-05 21:25:42 +02:00
Bennet Bleßmann
59af900aaf
split up CompilationError::InconsistentEntry
2024-08-05 21:25:42 +02:00
Bennet Bleßmann
add03cb4ee
add test for declaration errors
2024-08-05 21:25:42 +02:00
Bennet Bleßmann
409f56ea37
use an enum for OpDesc spec
2024-08-05 21:25:36 +02:00
Bennet Bleßmann
4009b40029
replace derive_deref with derive_more
...
- the latter already used in our transitive dependencies
- derive_more appears better maintained
2024-08-04 02:40:26 +02:00
Bennet Bleßmann
260c52adec
replace select by scrape
...
- the latter appears better maintained and more up to date
- removes some dupplicate/outdated transitive deps
2024-08-04 02:35:36 +02:00
Bennet Bleßmann
b1f057b67d
resolve problems from deps upgrade
...
- downgrade reqwest to 0.11.27
- fixes problems with missmatched transitive dependencies between it and warp, mainly http
- replace deprecated ripemd160 with ripemd (as specified in the formers readme)
- indexmap: replace deprecated remove with functionally identical swap_remove
2024-08-04 01:57:25 +02:00
Bennet Bleßmann
177bc16255
update/upgrade dependencies
2024-08-04 01:41:03 +02:00
Bennet Bleßmann
9e8d8aa19e
prevent accidental double free by checking tag before drop
2024-08-03 19:36:05 +02:00
Bennet Bleßmann
4d3ceb387e
drop payload after resetting machine
...
- under some circumstances the payload is accessed durring reset which would cause a segfault if we drop the payload too early
2024-08-03 19:27:32 +02:00
Bennet Bleßmann
c29b76143c
fix copy-past error
2024-07-26 00:13:49 +02:00
Bennet Bleßmann
3ad4b05a97
add a features for gating things we can use once 1.80 is msrv
2024-07-25 23:09:17 +02:00
Bennet Bleßmann
0da313eb84
use a OnceLock static for LIBRARIES instead of thread_local! static
2024-07-25 18:58:29 +02:00
Bennet Bleßmann
6b50ec328c
move the creation of the LIBRARIES IndexMap out of the generated file
...
- only leave the filling of the map in the generated code
2024-07-25 18:53:36 +02:00
Bennet Bleßmann
1eb6a883f6
run rustfmt
2024-07-23 00:01:58 +02:00
Bennet Bleßmann
e7fd408548
use include_str! for the build in libraries
...
instead of "copy-paste-ing" the prolog source into rust string literals in the generated files
2024-07-23 00:01:29 +02:00
Bennet Bleßmann
5d03be4b09
fix leak of slaps with dropped payload
2024-07-07 19:22:46 +02:00
Bennet Bleßmann
689632b51c
cleanup the slab types
...
- get rid of HeaderOrIdxPtr
- add IndexPtrSlab
- add UntypedArenaSlab
- add to_untyped for converting a typed slab into an unsyped slab
- remove TypedArenaPtr::new, as they shouldn't be created outside of this module
2024-07-07 17:12:52 +02:00
Bennet Bleßmann
1b19ae81d5
wrap Payloads that are dropped eraly in ManuallyDrop
2024-07-07 15:58:31 +02:00
Bennet Bleßmann
a0d790445d
check that we don't attempt to un-drop while evacuating
2024-07-07 14:37:41 +02:00
Bennet Bleßmann
213ee5ca45
add AllocateInArena as a Pivot for arena_alloc!
...
so that the value type passed to `arena_alloc!` can differ from the `ArenaAllocated::Payload` type
2024-07-07 14:36:53 +02:00
Bennet Bleßmann
74720d4d2e
remove unsafe impl From<UntypedArenaPtr> for CodeIndex
2024-07-07 14:18:50 +02:00
Bennet Bleßmann
496e4e9f56
fix clippy again
2024-07-07 11:31:36 +02:00
Bennet Bleßmann
89c1ea4232
fix leak of ArenaAllocated IndexPtr
2024-07-07 11:30:56 +02:00
Bennet Bleßmann
a2a50586aa
replace static Once and two mut statics with one static OnceLock
2024-07-07 11:30:56 +02:00
Bennet Bleßmann
0284a2092d
reduce span of unsafe block
2024-07-07 11:30:37 +02:00
Bennet Bleßmann
c414f75329
switch macos to latest as macos-11 has been removed
...
See https://github.com/actions/runner-images/issues/9255
2024-07-06 18:47:35 +02:00
Bennet Bleßmann
943dce566b
fix clippy
2024-07-06 18:26:34 +02:00
Bennet Bleßmann
b32498b37c
adjust ignore reason
2024-07-06 18:24:38 +02:00
Bennet Bleßmann
ea041a40f9
if UB un IndexPtr ArenaAllocated impl
2024-07-06 17:43:13 +02:00
Bennet Bleßmann
1d66f91a41
replace ref_thread_local::ref_thread_local! with std::thread_local!
...
removes `ref_thread_local` which was still at 0.0.0 released October 2018 while latest 0.1.1 was released mid November 2021
fixes libraries.rs UB
2024-07-06 17:18:26 +02:00
Bennet Bleßmann
fee7ba58b0
fix stack alignement
...
- adjust align() in RawBlockTraits impl for Stack
- ensure ptr is always aligned in RawBlock::allock
2024-07-06 16:21:59 +02:00
Bennet Bleßmann
8e53d12776
make components a comma seperated string instead of a list
2024-07-06 16:01:52 +02:00
Bennet Bleßmann
33793193cc
add miri to CI
2024-07-06 15:46:04 +02:00
Bennet Bleßmann
285f11ccdc
add associated Payload type to ArenaAllocated
2024-07-06 15:37:08 +02:00
Bennet Bleßmann
d87400afa0
switch Rcu to the arcu crate
...
The arcu crate is a more general implementation of the Rcu I implemented in here in scryer. It contains some bug-fixes regarding race-conditions in the Rcu update function, which could cause leaks and uses after free.
Source of the problem was the Relaxed load/strore/update of the reference count in side the Arc not being properly ordered with other load/stores.
2024-07-06 14:49:19 +02:00
Bennet Bleßmann
fcb41542c3
fix stream.rs UB
2024-07-06 14:30:03 +02:00
Bennet Bleßmann
87b4c9d736
somehow this was never marked as bad
2024-07-06 14:30:03 +02:00
Bennet Bleßmann
6386e70584
clippy: change ToString impl to Display
...
- write directly to formatter, eliminating intermediate String allocations
- take Value by reference eliminating clones
- remove trim() called on the result of QueryResolution::to_string
- we only emit "true", "false", or "[<resolutions>]"
neither of which contains trailing or leading withespace,
so the calls was effectively a noop
2024-07-06 13:32:58 +02:00