Comments (6)
Sounds good to me! Feel free to prepare a PR to try it out 😄
from libsignal-service-rs.
Hopefully this will help. Currently the following things won't work with rust 1.44
:
error[E0658]: `match` is not allowed in a `const fn`
--> /home/mersdk/.cargo/git/checkouts/libsignal-protocol-rs-bd2698d95a103c0d/2d00a19/libsignal-protocol/src/errors.rs:104:9
|
104 | / match code {
105 | | sys::SG_ERR_NOMEM => Some(InternalError::NoMemory),
106 | | sys::SG_ERR_INVAL => Some(InternalError::InvalidArgument),
107 | | sys::SG_ERR_UNKNOWN => Some(InternalError::Unknown),
... |
136 | | _ => None,
137 | | }
| |_________^
|
= note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
= help: add `#![feature(const_if_match)]` to the crate attributes to enable
error[E0658]: `match` is not allowed in a `const fn`
--> /home/mersdk/.cargo/git/checkouts/libsignal-protocol-rs-bd2698d95a103c0d/2d00a19/libsignal-protocol/src/errors.rs:142:9
|
142 | / match self {
143 | | InternalError::NoMemory => sys::SG_ERR_NOMEM,
144 | | InternalError::InvalidArgument => sys::SG_ERR_INVAL,
145 | | InternalError::Unknown => sys::SG_ERR_UNKNOWN,
... |
166 | | InternalError::SerializationError => sys::SG_ERR_INVALID_PROTO_BUF,
167 | | }
| |_________^
|
= note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
= help: add `#![feature(const_if_match)]` to the crate attributes to enable
error[E0658]: procedural macros cannot be expanded to expressions
--> /home/mersdk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-util-0.6.2/src/sync/poll_semaphore.rs:21:29
|
21 | inner: Box::pin(async_stream::stream! {
| _____________________________^
22 | | loop {
23 | | match semaphore.clone().acquire_owned().await {
24 | | Ok(permit) => yield permit,
... |
27 | | }
28 | | }),
| |_____________^
|
= note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
= help: add `#![feature(proc_macro_hygiene)]` to the crate attributes to enable
from libsignal-service-rs.
error[E0658]: procedural macros cannot be expanded to expressions
That may be a deal-breaker. If 1.44-dev means it's kinda-nightly, the feature flag should fix that. That would mean MSRV 1.44-nightly OR 1.46-stable.
from libsignal-service-rs.
Maybe I'm wrong, but the macro feature is missing in tokio_util
, so we need to add #![feature(proc_macro_hygiene)]
there or not?
from libsignal-service-rs.
Maybe I'm wrong, but the macro feature is missing in
tokio_util
, so we need to add#![feature(proc_macro_hygiene)]
there or not?
Indeed, because they removed it themselves and upped their minimum supported version. I hadn't even thought about that yet.
proc_macro_hygiene
is used a lot nowadays, I don't think we're getting around that. I think we better push Jolla to up their compiler. Maybe there's a tokio-util
that we can manually pin/downgrade to in Cargo.lock
that has the feature flag, but I don't think so, especially since Tokio 1.0 has been released a few weeks ago. I'm currently doing the migration to Tokio 1.0 in WF, fwiw.
from libsignal-service-rs.
From my quick cargo tree
search it seems that there are 3-4 transitive dependencies pointing to that exact same version, so I don't think we can get around this easily. I think we should get Jolla to update to the latest stable and/or give us some hints to get the sailfishos/rust project building.
from libsignal-service-rs.
Related Issues (20)
- Refactor/merge ServiceCipher::open_envelope and ServiceCipher::decrypt
- Support contact discovery HOT 2
- Add support for ACI/PNI HOT 2
- PlaintextContent not handled HOT 2
- serde_json fails parsing empty HTTP 200 response HOT 1
- Groups v2 getAuthorizationForToday stopped working HOT 2
- Not sending SyncMessage if only linked device HOT 4
- Rework the pre-key management
- Upgrade to libsignal v0.31 or later
- Trigger PreKey-fetching on SessionNotFound
- Add ability to set user-agent HOT 1
- Can't send messages
- Receiving messages failed due to: `SignalProtocolError(InvalidKyberPreKeyId)`
- `TryFrom<EnvelopeEntity> for Envelope` contains strange (and outdated?) logic
- Attachments are encrypted with synchronous code in the executor HOT 1
- JSON Invalid Padding
- MessageSender::send_contact_details seems to have some parameters too many
- Groups Fail with Newly Linked Devices
- Reconsider AWS-LC
- Crash when settings are changed right after fresh registration and linking a device HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libsignal-service-rs.