This repository was archived by the owner on Oct 9, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 11
reports 2016-03-21 #32
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| # Subteam report: compiler 2016-03-21 | ||
|
|
||
| ## Highlights | ||
|
|
||
| Quiet meeting this week. | ||
|
|
||
| --nmatsakis | ||
|
|
||
| ## Dashboard | ||
|
|
||
| ### RFC phase | ||
|
|
||
| - [PR #1399](https://github.com/rust-lang/rfcs/pull/1399): | ||
| RFC: Add #[repr(pack = "N")] | ||
| - [PR #1414](https://github.com/rust-lang/rfcs/pull/1414): | ||
| Add Rvalue-static-promotion RFC | ||
| - [PR #1477](https://github.com/rust-lang/rfcs/pull/1477): | ||
| Generic atomic v2 | ||
| - [PR #1478](https://github.com/rust-lang/rfcs/pull/1478): | ||
| translate undefined intrinsics to an unreachable and a lint | ||
| - [PR #1510](https://github.com/rust-lang/rfcs/pull/1510): | ||
| RFC: Add a new crate-type, rdylib | ||
|
|
||
| ### Implementation phase | ||
|
|
||
| - [Issue #5016](https://github.com/rust-lang/rust/issues/5016): | ||
| implement "dynamic drop" semantics using flags on the stack rather than zeroing | ||
| - [Issue #12634](https://github.com/rust-lang/rust/issues/12634): | ||
| Replace various intrinsic wrappers with intrinsic reexports | ||
| - [Issue #15023](https://github.com/rust-lang/rust/issues/15023): | ||
| Better temporary lifetimes (tracking issue for RFC 66) | ||
| - [Issue #15287](https://github.com/rust-lang/rust/issues/15287): | ||
| Implement Pattern Guards with Bind-By-Move | ||
| - [Issue #20561](https://github.com/rust-lang/rust/issues/20561): | ||
| Tracking issue for Consistent no-prelude attribute (RFC 501) | ||
| - [Issue #27060](https://github.com/rust-lang/rust/issues/27060): | ||
| repr(packed) allows invalid unaligned loads | ||
|
|
||
| ### High priority issues | ||
|
|
||
| - [Issue #15536](https://github.com/rust-lang/rust/issues/15536): | ||
| floating point to floating point casts have undefined behaviour | ||
| - [Issue #29149](https://github.com/rust-lang/rust/issues/29149): | ||
| Lifetime bounds in Copy impls are ignored | ||
| - [Issue #29859](https://github.com/rust-lang/rust/issues/29859): | ||
| Cyclic traits allow arbitrary traits to be synthesized | ||
| - [Issue #30829](https://github.com/rust-lang/rust/issues/30829): | ||
| Code no longer builds because of RFC 1214 | ||
| - [Issue #31299](https://github.com/rust-lang/rust/issues/31299): | ||
| Bogus error in beta and nightly: recursive type has infinite size | ||
| - [Issue #31543](https://github.com/rust-lang/rust/issues/31543): | ||
| Warn for type parameter defaults on `impl` blocks | ||
| - [Issue #31567](https://github.com/rust-lang/rust/issues/31567): | ||
| `Drop` and leaking `&mut` references | ||
| - [Issue #31804](https://github.com/rust-lang/rust/issues/31804): | ||
| Rustc does not stop on error. | ||
| - [Issue #32201](https://github.com/rust-lang/rust/issues/32201): | ||
| Zero-sized functions pointers no longer variadic-compatible | ||
|
|
||
| ### Needs decision | ||
|
|
||
| - [Issue #29769](https://github.com/rust-lang/rust/issues/29769): | ||
| Mir: introduce overflow operations |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,180 @@ | ||
| # Subteam report: lang 2016-03-21 | ||
|
|
||
| ## Highlights | ||
|
|
||
| We decided to accept two RFCs yesterday: | ||
|
|
||
| - [RFC 1201](https://github.com/rust-lang/rfcs/pull/1201): Support | ||
| naked functions, which are functions without the standard prologue | ||
| and epilogue; this is primarily useful for low-level coding. | ||
| - [RFC 1244](https://github.com/rust-lang/rfcs/pull/1244): Extend the | ||
| model for public/private declarations to permit declaring an item as | ||
| public to a specific parent module, as well as permitting | ||
| `pub(crate)` to define something which is public to the current | ||
| crate but not other crates. | ||
|
|
||
| Also, the following two RFCs were already in FCP, but we realized we | ||
| didn't fully advertise them, as we forgot e.g. to add an appropriate | ||
| label, so we've decided to extend FCP for another week: | ||
|
|
||
| - [RFC 1321](https://github.com/rust-lang/rfcs/pull/1321): Make unstable | ||
| methods and items invisible in the stable compiler. | ||
| - [RFC 1346](https://github.com/rust-lang/rfcs/pull/1346): Allow | ||
| unsafe expressions without `{}` (e.g., `unsafe foo()` instead of | ||
| `unsafe { foo() }`). | ||
|
|
||
| Finally, the following RFCs are entering FCP: | ||
|
|
||
| - [RFC 1373](https://github.com/rust-lang/rfcs/pull/1373): Deprecate | ||
| certain kinds of doc comments, in an effort to reduce duplication. | ||
| - [RFC 1319](https://github.com/rust-lang/rfcs/pull/1319): An amendment | ||
| to RFC 1228 (which introduced the experimental `<-` operator) to | ||
| clarify operator precedence. | ||
|
|
||
| --nmatsakis | ||
|
|
||
| ## Dashboard | ||
|
|
||
| ### RFC phase | ||
|
|
||
| - [PR #197](https://github.com/rust-lang/rfcs/pull/197): | ||
| `ManuallyDrop` type gives precise control of dtors of inline data. | ||
| - [PR #1062](https://github.com/rust-lang/rfcs/pull/1062): | ||
| Constants that depend on type parameters in generic code | ||
| - [PR #1148](https://github.com/rust-lang/rfcs/pull/1148): | ||
| Mutually exclusive traits | ||
| - [PR #1177](https://github.com/rust-lang/rfcs/pull/1177): | ||
| Anonymous/placeholder lifetime "'_". | ||
| - [PR #1180](https://github.com/rust-lang/rfcs/pull/1180): | ||
| Propose `Interior<T>` data-type, to allow moves out of the dropped value during the drop hook. | ||
| - [PR #1248](https://github.com/rust-lang/rfcs/pull/1248): | ||
| Safe intrinsics RFC | ||
| - [PR #1296](https://github.com/rust-lang/rfcs/pull/1296): | ||
| RFC: Add an `alias` attribute to #[link] and -l | ||
| - [PR #1305](https://github.com/rust-lang/rfcs/pull/1305): | ||
| Abstract output type parameters | ||
| - [PR #1319](https://github.com/rust-lang/rfcs/pull/1319): | ||
| Amend RFC1228 with operator fixity and precedence | ||
| - [PR #1327](https://github.com/rust-lang/rfcs/pull/1327): | ||
| Dropck Eyepatch RFC. | ||
| - [PR #1358](https://github.com/rust-lang/rfcs/pull/1358): | ||
| RFC: Add #[repr(align = "N")] | ||
| - [PR #1373](https://github.com/rust-lang/rfcs/pull/1373): | ||
| Remove some kinds of doc comments | ||
| - [PR #1379](https://github.com/rust-lang/rfcs/pull/1379): | ||
| Change thread local variables to only accept async-signal-safe types. | ||
| - [PR #1398](https://github.com/rust-lang/rfcs/pull/1398): | ||
| Allocators, take III | ||
| - [PR #1399](https://github.com/rust-lang/rfcs/pull/1399): | ||
| RFC: Add #[repr(pack = "N")] | ||
| - [PR #1406](https://github.com/rust-lang/rfcs/pull/1406): | ||
| Rfc: delegation of implementation | ||
| - [PR #1408](https://github.com/rust-lang/rfcs/pull/1408): | ||
| Delayed resolution | ||
| - [PR #1414](https://github.com/rust-lang/rfcs/pull/1414): | ||
| Add Rvalue-static-promotion RFC | ||
| - [PR #1426](https://github.com/rust-lang/rfcs/pull/1426): | ||
| Placement in/box refinement | ||
| - [PR #1429](https://github.com/rust-lang/rfcs/pull/1429): | ||
| Feature gate extern fn methods | ||
| - [PR #1431](https://github.com/rust-lang/rfcs/pull/1431): | ||
| Statically dispatched methods for trait objects with associated data | ||
| - [PR #1437](https://github.com/rust-lang/rfcs/pull/1437): | ||
| ESC byte escape | ||
| - [PR #1440](https://github.com/rust-lang/rfcs/pull/1440): | ||
| RFC - Allow Drop types in statics/const functions | ||
| - [PR #1444](https://github.com/rust-lang/rfcs/pull/1444): | ||
| RFC: native C-compatible unions via built-in syntax macro `union!` | ||
| - [PR #1449](https://github.com/rust-lang/rfcs/pull/1449): | ||
| Add language support for bitfields | ||
| - [PR #1450](https://github.com/rust-lang/rfcs/pull/1450): | ||
| Types for enum variants | ||
| - [PR #1459](https://github.com/rust-lang/rfcs/pull/1459): | ||
| Add a used attribute | ||
| - [PR #1477](https://github.com/rust-lang/rfcs/pull/1477): | ||
| Generic atomic v2 | ||
| - [PR #1478](https://github.com/rust-lang/rfcs/pull/1478): | ||
| translate undefined intrinsics to an unreachable and a lint | ||
| - [PR #1492](https://github.com/rust-lang/rfcs/pull/1492): | ||
| RFC: `..` in patterns | ||
| - [PR #1494](https://github.com/rust-lang/rfcs/pull/1494): | ||
| Amend RFC 550 with misc. follow set corrections | ||
| - [PR #1504](https://github.com/rust-lang/rfcs/pull/1504): | ||
| Add support for 128-bit integers | ||
| - [PR #1506](https://github.com/rust-lang/rfcs/pull/1506): | ||
| Clarify the relationships between various kinds of structs and variants | ||
| - [PR #1513](https://github.com/rust-lang/rfcs/pull/1513): | ||
| RFC: Stabilize implementing panics as aborts | ||
| - [PR #1517](https://github.com/rust-lang/rfcs/pull/1517): | ||
| RFC: Exclude macros from importing with #[macro_use(not(...))] | ||
| - [PR #1520](https://github.com/rust-lang/rfcs/pull/1520): | ||
| RFC: Generic const and static | ||
| - [PR #1521](https://github.com/rust-lang/rfcs/pull/1521): | ||
| Copy clone semantics | ||
| - [PR #1522](https://github.com/rust-lang/rfcs/pull/1522): | ||
| Minimal `impl Trait` | ||
| - [PR #1524](https://github.com/rust-lang/rfcs/pull/1524): | ||
| Custom Dynamically Sized Types for Rust | ||
| - [PR #1539](https://github.com/rust-lang/rfcs/pull/1539): | ||
| Revise type ascription operator to use type equality, not coercion | ||
| - [PR #1546](https://github.com/rust-lang/rfcs/pull/1546): | ||
| Allow fields in traits that map to lvalues in impl'ing type | ||
| - [FCP PR #1201](https://github.com/rust-lang/rfcs/pull/1201): | ||
| Add support for naked functions. | ||
| - [FCP PR #1321](https://github.com/rust-lang/rfcs/pull/1321): | ||
| Unstable visibility RFC | ||
| - [FCP PR #1346](https://github.com/rust-lang/rfcs/pull/1346): | ||
| Unsafe expressions | ||
| - [FCP PR #1422](https://github.com/rust-lang/rfcs/pull/1422): | ||
| pub(restricted) item | ||
|
|
||
| ### Implementation phase | ||
|
|
||
| - [Issue #13231](https://github.com/rust-lang/rust/issues/13231): | ||
| opt-in built-in bounds traits RFC tracker | ||
| - [Issue #18469](https://github.com/rust-lang/rust/issues/18469): | ||
| Implement revised coercion rules | ||
| - [Issue #22181](https://github.com/rust-lang/rust/issues/22181): | ||
| `box` and `in` expressions (tracking issue for RFC 809) | ||
| - [Issue #27060](https://github.com/rust-lang/rust/issues/27060): | ||
| repr(packed) allows invalid unaligned loads | ||
| - [Issue #27336](https://github.com/rust-lang/rust/issues/27336): | ||
| Tracking Issue for RFC 213: Default Type Parameter Fallback | ||
| - [Issue #31434](https://github.com/rust-lang/rust/issues/31434): | ||
| Restrict use of constants in patterns (RFC 1445) | ||
| - [Issue #31436](https://github.com/rust-lang/rust/issues/31436): | ||
| `?` operator and `catch` expressions (RFC 243) | ||
| - [Issue #31844](https://github.com/rust-lang/rust/issues/31844): | ||
| Tracking issue for specialization (RFC 1210) | ||
| - [FCP PR #27751](https://github.com/rust-lang/rust/issues/27751): | ||
| Tracking issue for `raw` stabilization | ||
| - [FCP PR #29638](https://github.com/rust-lang/rust/issues/29638): | ||
| Tracking issue for `macro_reexport` feature | ||
|
|
||
| ### High priority issues | ||
|
|
||
| - [Issue #15536](https://github.com/rust-lang/rust/issues/15536): | ||
| floating point to floating point casts have undefined behaviour | ||
| - [Issue #25860](https://github.com/rust-lang/rust/issues/25860): | ||
| Implied bounds on nested references + variance = soundness hole | ||
| - [Issue #28514](https://github.com/rust-lang/rust/issues/28514): | ||
| Private trait's methods reachable through a public subtrait | ||
| - [Issue #29149](https://github.com/rust-lang/rust/issues/29149): | ||
| Lifetime bounds in Copy impls are ignored | ||
| - [Issue #29859](https://github.com/rust-lang/rust/issues/29859): | ||
| Cyclic traits allow arbitrary traits to be synthesized | ||
| - [Issue #30127](https://github.com/rust-lang/rust/issues/30127): | ||
| Desugared x.index(y) is not equivalent to x[y] | ||
| - [Issue #31287](https://github.com/rust-lang/rust/issues/31287): | ||
| Pattern guard can consume value that is being matched | ||
| - [Issue #31543](https://github.com/rust-lang/rust/issues/31543): | ||
| Warn for type parameter defaults on `impl` blocks | ||
|
|
||
| ### Needs decision | ||
|
|
||
| - [Issue #21232](https://github.com/rust-lang/rust/issues/21232): | ||
| borrow-checker allows partial reinit of struct that has been moved away, but no use of it. | ||
| - [Issue #23818](https://github.com/rust-lang/rust/issues/23818): | ||
| `print!` macro should flush stdout | ||
| - [Issue #30191](https://github.com/rust-lang/rust/issues/30191): | ||
| Can't provide non-overlapping impls with *any* type parameters, if a blanket impl exists | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess that should be 1422, not 1244.