Comments (5)
Sounds good 👍 If I remember correctly, there are basically only 3 changes required:
- remove helper attributes (remove
project*
attributes); done in #265 - remove
Replace
argument (#243 (comment)); done in #266 - change to define projection-type to inside
const _: () = {}
when the users don't name it; done in #268
from pin-project.
Another likely change is to remove support for rust 1.34-1.36 and remove the build-script, but I have no particular strong opinion on this.
from pin-project.
Released 1.0.0-alpha.1. I'll wait for a few weeks and then release 1.0.0 if we don't have any big issues.
from pin-project.
Previously, I said "we need to decide on a policy when we release 1.0" in #219 (comment).
I think "at least support a year ago compiler, and MSRV bump requires minor version bump" is preferable at this time.
However, I think it is unlikely that we will rely on language features that really require MSRV bump from 1.37.
from pin-project.
FWIW, here is a list of language features/changes that I think may affect pin-project(-lite) in the future:
safe_packed_borrow
become a hard error (rust-lang/rust#27060)
The currently appliedsafe_packed_borrow
becomes unknown lint and taiki-e/pin-project-lite#26 becomes fixed. There are no code changes on pin-project(-lite) side.proc_macro_def_site
stabilized (rust-lang/rust#54724)
We can use this via build script. (Perhaps actually proc-macro2 should handle it.)trivial_bounds
stabilized (rust-lang/rust#48214)
The existing code is not broken, so code changes on pin-project(-lite) side are not needed.- Implemented & stabilized RFC 2145 private in public (rust-lang/rust#48054)
We can use this via build script. Or the existing code is not broken, so code changes on pin-project(-lite) side are not needed. - Implemented & stabilized RFC1598 generic associated types (rust-lang/rust#44265)
We can use this via build script. Or major version bump is needed (breaking change on public API) - Implemented & stabilized inherent associated types (rust-lang/rust#8995)
We can use this via build script. Or major version bump is needed (breaking change on public API)
(There are many uncertainties, so this list does not include anything like significant changes in the existing macro system, unapproved RFCs, or pre-RFCs.)
from pin-project.
Related Issues (20)
- pin_project cannot be used with structs that hold mutable references HOT 4
- "unused result" warning with 0.4.18 HOT 2
- ?Sized type parameters don't work
- Prepare for uplift of drop-bounds lint HOT 3
- Generated `#[deny(safe_packed_borrows)]` is not compatible with `#![forbid(future_incompatible)]` HOT 5
- #[pin_project] panics with `internal error: entered unreachable code` when used inside a MBE with vis HOT 2
- error: cannot find attribute `derive` in this scope HOT 3
- Rust-Analyzer compatibility HOT 7
- Cannot build with RUSTFLAGS="-Zsanitizer=address" HOT 2
- Leaked UB in enums HOT 10
- Ambiguous macro use does not compile HOT 3
- `parse_quote_spanned` macro name-collides with `syn::parse_quote_spanned` HOT 1
- #![feature(negative_impls)] breaks the guarantee for Unpin provided by pin-project HOT 1
- Can bypass #[repr(packed)] checking since rust 1.57 HOT 2
- Allow #[pin_project(!Unpin)] to `impl !Unpin` HOT 1
- provide project method on `&mut Pin<&mut Self>` HOT 2
- Why was 1.0.10 yanked from crates.io? HOT 6
- Pin-projecting in-line tuples HOT 2
- docs: Add FAQ section?
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 pin-project.