Comments (11)
It actually seems like rustversion
can't accommodate conditionally enabling features?
I can't get this to work
#![rustversion::attr(nightly, feature(unboxed_closures))]
as opposed to
#![cfg_attr(not(feature = "stable"), feature(unboxed_closures))]
@akesson I think you suggested this possibility — any thoughts? I may be doing it wrong.
from leptos.
But rustversion can enable/disable an arbitrary amount of code, right? So, what about this?
#[rustversion::nightly]
#![feature(unboxed_closures)]
from leptos.
The problem is that that's an outer attribute wrapping an inner attribute, which is not possible. See this issue.
from leptos.
I'm not sure what you want to achieve with:
#![rustversion::attr(nightly, feature(unboxed_closures))]
Use nightly, but only if feature unboxed_closures is not available on stable?
Wouldn't simply #[rustversion::nightly]
suffice? When the feature is available on stable, the condition would have to be removed manually.
from leptos.
Actually, shouldn't it be: #[rustversion::attr(nightly, feature(unboxed_closures))]
, without the exclamation mark?
from leptos.
If you do #[rustversion::attr(nightly, feature(unboxed_closures))]
then the compiler interprets it as an annotation of mod context
rather than of the crate.
from leptos.
Here's an idea: add the required #![feature] using a build script. For all other things, use rustversion. That's hacky but at least you don't have to use a stable feature flag
from leptos.
Actually, in this case.. it's much better to enable the stable
feature flag in the build script, with this, and people that depend on leptos won't have to set this flag. (or maybe it can enable feature = unboxed_closures
directly?)
from leptos.
@dlight This seems like a good idea but I'll admit I don't quite know how to do this. If you could give a pointer (or even better a PR) I'd be really grateful.
from leptos.
How about using rustc_version for automatically setting the stable
feature?
I did a test and it seems to work well.
I can do a PR, but probably best to wait for #44 to be merged because there will be Cargo.toml merge conflicts.
from leptos.
I think this should finally be fixed by #148. stable
feature still exists but is now automatically enabled if you're on stable
Rust.
from leptos.
Related Issues (20)
- Inconsistent Action::pending() state
- [0.7-alpha] `<Route ... view=Component/>` fails if `Component` has an optional prop HOT 1
- Trigger source won't cause a Resource to refetch HOT 1
- Static site sub-routes missing interactivity/not playing well with hydration HOT 2
- Add "scroll" prop to <A> HOT 1
- Router base has no effect HOT 2
- Failed to decode downloaded font HOT 1
- Implement Trait IntoStyle for Style HOT 1
- server_fn depedency on gloo_net 0.5 causing duplicate inclusion of http library with different versions. HOT 5
- Portal strange behavior with reactive children HOT 2
- leptos_config::get_configuration doesn't support workspace metadata in Cargo.toml for multiple projects
- Improve the Documentation on Custom Elements HOT 2
- Multiple ErrorBoundaries break HOT 7
- Add a "create_server_resource" wrapper for server function HOT 1
- Can't pass `Callback` as an event handler
- `memo!` macro similar to `slice!` macro
- Title HOT 1
- 0.7-beta Resource isnt updated with source signal HOT 3
- LocalResource spawn_local called from outside of a task::LocalSet HOT 2
- `0.7-beta` Router `A` component missing `class` & `active_class` props HOT 5
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 leptos.