Commit graph

218 commits

Author SHA1 Message Date
Olivier Goffart
05a6681b92 The version 0.3.2 of field-offset was released 2020-08-24 16:39:47 +02:00
Olivier Goffart
ea1f215367 Some polishinbg of the .toml files
- Give all the sixtyfps-* create a 0.0.1 version
 - Make sure that the internal dependences are using the exact same version
   (so "=0.0.1")
 - Add the description/homepage/repository fields in the .toml files
 - Set publish=false  to crates that are not meant to be published on crates.io
2020-08-24 16:28:11 +02:00
Olivier Goffart
cbeb982684 Use the FieldOffset struct from the upstream create 2020-08-24 11:20:38 +02:00
Simon Hausmann
b9bcf01019 Exclude const-field-offset from the license check
This is in fact a third-party crate slightly forked
2020-08-18 13:59:31 +02:00
Simon Hausmann
7f1d9f5252 Commit correct license tags to Cargo.toml
For now that's GPL-3.0 only, but this can be changed :-)
2020-08-18 10:12:59 +02:00
Simon Hausmann
2823f32692 Apply license headers to all non-binary/non-json sources 2020-08-17 17:55:20 +02:00
Simon Hausmann
c7827c9dd5 Add support for Drop when using #[pin] with const_field_offset
A new attribute implements the Drop mechanics outlined in the Pin
documentation without requiring the use of unsafe on the caller side,
by means of an intermediate PinnedDrop trait.
2020-08-14 13:44:53 +02:00
Olivier Goffart
681f304768 Add a few Debug impl 2020-08-10 17:25:15 +02:00
Olivier Goffart
0a56912d0f Mouse grab in rust 2020-08-07 16:06:49 +02:00
Olivier Goffart
0b1648d891 Fix formating 2020-08-04 11:52:47 +02:00
Olivier Goffart
1bfd708784 Change the field_offsets() function to a FIELD_OFFSETS associated const 2020-08-03 16:04:55 +02:00
Olivier Goffart
86a85cf838 vtable: change #[offset] to #[field_offset]
And add a documentation for it
2020-08-03 11:26:48 +02:00
Olivier Goffart
00c32e9c6d vtable: remove the convinient type alias from the macro
If one really need them, they can be implemented by the user
2020-08-03 11:03:24 +02:00
Olivier Goffart
2e74fa43cd Use pin-weak from crates.io 2020-08-03 09:18:04 +02:00
Olivier Goffart
cb67e40c32 Rename WeakPin -> PinWeak 2020-07-31 18:19:26 +02:00
Olivier Goffart
75671c18e7 Rename weak-pin crate to pin-weak 2020-07-31 18:18:12 +02:00
Olivier Goffart
77cf1e1e83 Some documentation change following today review 2020-07-31 16:28:59 +02:00
Simon Hausmann
9d9779ecde Fix linter warning
When docs are required, don't require them for the generated field offset module.
2020-07-07 14:14:17 +02:00
Olivier Goffart
f8a63b1b76 Add a weak-pin crate that can be used to create Weak pointr from Pin<Rc> 2020-06-26 17:30:40 +02:00
Olivier Goffart
1b748792ad Visit the item as Pin
A preparation to have Property::get to take Pin<Self>
2020-06-25 18:50:20 +02:00
Olivier Goffart
40f4265071 Some improvement in ConstFieldOffset trait 2020-06-25 18:23:08 +02:00
Olivier Goffart
812b08b50c const_field_offset: Add compile type type for the offset
WIP
2020-06-25 17:46:29 +02:00
Simon Hausmann
c18861125d Small typo fix :-) 2020-06-25 14:22:10 +02:00
Olivier Goffart
f50a705e00 Add the #[pin] attribute to be able to project to the pinned item 2020-06-25 12:18:09 +02:00
Olivier Goffart
9ed660926c Added a #[pin] attribute in the FieldOffsets macro 2020-06-25 12:18:09 +02:00
Olivier Goffart
23e9397578 Add a Pinned flag to FieldOffset
So we can have Pinned projection
2020-06-25 12:18:09 +02:00
Olivier Goffart
d4e68971ef Make FieldOffset contra-variant in U 2020-06-24 18:53:53 +02:00
Olivier Goffart
4960cee542 const-field-offset: some documentation fixup 2020-06-24 18:20:14 +02:00
Olivier Goffart
b6705c6c69 const_field_offset: ensure that the structure is not repr(packed) 2020-06-24 18:20:14 +02:00
Olivier Goffart
caca0d0ba4 Put the component in a Pin<>
Removed the drop and create from the ComponentVTable:
since we are not using VBox<ComponentVTable>, this simplifies a bit
the code of the interpreter and everything else.

But there is still a lot of changes everywhere to support that the Component
is pinned.
This is just for the component. Which would be required if later we want
to access the properties as Pin<Property<_>>. But we have not yet ability
to do projections
2020-06-24 14:13:27 +02:00
Olivier Goffart
f74c801b59 Fix a bunch of warning in the generated rust 2020-06-17 10:26:20 +02:00
Olivier Goffart
064db5aa5b const-field-offset: Add a way to specify the crate name 2020-06-16 13:47:02 +02:00
Olivier Goffart
30b201d946 Reduce the use of unsafe in corelib and in the rust backend 2020-06-12 19:03:15 +02:00
Olivier Goffart
bbb2b487b9 Implement a way to create a VRef for non static vtable 2020-06-12 17:09:51 +02:00
Olivier Goffart
34931e58c0 Polishing of the documentation 2020-06-08 17:57:18 +02:00
Simon Hausmann
5e7c6372fd Fix cross-compilation of vtable
syn/quote/proc-macro are not needed at run-time for the vtable use.
2020-06-08 13:00:55 +02:00
Olivier Goffart
0a48252702 Interpreter: implement the ComponentVTable properly
with the drop and construct function
2020-06-03 17:33:26 +02:00
Olivier Goffart
9c3dbe1a81 Small doc fixup to workaround rustdoc bug
https://github.com/rust-lang/rust/issues/45939
https://github.com/rust-lang/rust/issues/60543
2020-05-31 16:20:22 +02:00
Olivier Goffart
5f01ec30ee Fix the viewer using generated rtti from a macro
One thing that needed to change is that we needed the vtable to be unique
2020-05-30 15:08:51 +02:00
Olivier Goffart
8c39ada671 Add downcast method to VRef and VRefMut 2020-05-28 09:18:28 +02:00
Olivier Goffart
0f977cbb25 Some documentation fixes for item generated with #[vtable] 2020-05-22 12:38:55 +02:00
Olivier Goffart
bf3a0878b5 Add documentation for the vtable crate 2020-05-22 11:17:45 +02:00
Olivier Goffart
f4714f2f5b Add missing file 2020-05-18 16:00:18 +02:00
Olivier Goffart
68cea2aeec Fix soundness hole in FieldOffset
This was cause by the change to allow to create FieldOffset in const constext
because a Fn(T)->U  is not allowed in a const constext.
But we need to be contravariant in T.
2020-05-18 11:06:44 +02:00
Olivier Goffart
07942da4bb vtable: introduce VOffset 2020-05-18 11:06:44 +02:00
Olivier Goffart
1addcad615 vtable: Fix the repr 2020-05-18 11:06:44 +02:00
Olivier Goffart
5a9cbaae66 vtable add support for field offset in the vtable 2020-05-18 11:06:44 +02:00
Olivier Goffart
751a3fbe59 Work on const field offset crate to give type safe offsets 2020-05-18 11:06:44 +02:00
Olivier Goffart
aff3d7e14b vtable: add safe way to construct references 2020-05-18 11:06:44 +02:00
Olivier Goffart
810a3905a7 Add VBox::new 2020-05-18 11:06:44 +02:00