Skip to content

Commit 55676a8

Browse files
committed
Merge pull request #1 from Gankro/master
RFCs stuff
2 parents 253d670 + c972564 commit 55676a8

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

content/2014-11-10-this-week-in-rust.markdown

+45
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,54 @@ TODO: Link to complete breaking changes log
7070
[bitshift]: https://github.com/rust-lang/rust/pull/18206
7171
[unsafe-rustc]: https://github.com/rust-lang/rust/pull/18318
7272

73+
74+
7375
## Approved RFC's
76+
* [Num reform](https://github.com/rust-lang/rfcs/blob/master/text/0418-struct-variants.md): Strips down `std::num` to minimally support generic primitive numbers, without supporting a full mathematical hierarchy.
77+
78+
* [Higher-ranked trait bounds](https://github.com/rust-lang/rfcs/blob/master/text/0387-higher-ranked-trait-bounds.md): Add the ability to have trait bounds that are polymorphic over lifetimes. Necessary for unboxed closures.
79+
80+
* [un-feature-gating struct variants](https://github.com/rust-lang/rfcs/blob/master/text/0418-struct-variants.md): Woo!
81+
82+
* [Multiple lifetime bounds](https://github.com/rust-lang/rfcs/blob/master/text/0192-bounds-on-object-and-generic-types.md): Removes special cases from the type system and makes more complex lifetime relationships be expressed that were previously only inferable.
83+
84+
7485

7586
## New RFC's
87+
* [Macro reform](https://github.com/rust-lang/rfcs/pull/453): Prepares macros for 1.0 stabilization. Renames `macro_rules!` to `macro!`, and introduces more robust support for module importing and exporting.
88+
89+
* [Change integer fallback RFC to suggest `i32` instead of `int` as the fallback](https://github.com/rust-lang/rfcs/pull/452): Changes the fallback for performance and portability.
90+
91+
* [Un-feature-gate if let and tuple indexing](https://github.com/rust-lang/rfcs/pull/450): The features are well-behaved and used by many projects; ship 'em!
92+
93+
* [Prohibit unused type parameters in impls](https://github.com/rust-lang/rfcs/pull/453): Require that every impl type parameter appears textually within the input type parameters of the trait reference or the impl self type.
94+
95+
* [ES6-style unicode string escaping](https://github.com/rust-lang/rfcs/pull/446): Remove `\u203D` and `\U0001F4A9` unicode string escapes, and add ECMAScript 6-style `\u{1F4A9}` escapes instead. Strong positive feedback, some concern with how it interacts with format strings.
96+
97+
* [extension trait conventions](https://github.com/rust-lang/rfcs/pull/445): Establishes a definition and naming convention for extension traits: traits which aren't intended for generic programing, but instead extending existing types. If extending a `Foo`, use `FooExt`. If Extending a `Foo`'s when they impl another trait like `Add`, use `FooAddExt`.
98+
99+
* [cmp and ops reform](https://github.com/rust-lang/rfcs/pull/439): Refactors `Cmp` and the operator overloading traits. Generally positive feedback. Highlights include:
100+
* Make basic unary and binary operators work by value and use associated types.
101+
* Generalize comparison operators to work across different types; drop Equiv.
102+
* Refactor slice notation in favor of range notation so that special traits are no longer needed.
103+
* Add IndexSet to better support maps.
104+
* Clarify ownership semantics throughout.
105+
106+
* [Change precedence of `+` in type grammar](https://github.com/rust-lang/rfcs/pull/438): Update type grammar to make `+` have lower precedence, consistent with the expression grammar, resolving a grammatical ambiguity.
107+
108+
* [Relocate and improve c_str](https://github.com/rust-lang/rfcs/pull/435):
109+
* Move the c_str module out of std to rid the latter of type dependencies on libc.
110+
* Split the current CString into a low-level type CStrBuf and a length-aware CString to make computation costs explicit.
111+
* Provide custom destructors and purpose-specific, mnemonically named constructors.
112+
* Add some methods and trait implementations to make the types more useful.
113+
* Remove the Clone implementation due to lack of purpose.
114+
Lots of discussion of how to structure libc, not a lot of consensus.
115+
116+
* [rename `lifetime` to `scope`](https://github.com/rust-lang/rfcs/pull/431): Highly controversial. Some community members argue that this change in terminology has been much more effective when introducing the actual concepts to newbies. Others argue that scope is already a well established concept in programming languages.
117+
118+
* [Finalizing more naming conventions](https://github.com/rust-lang/rfcs/pull/430): finalizes a few long-running de facto conventions, including capitalization/underscores, and the role of the unwrap method. Generally positive feedback, some discussion of naming consts like enum variants.
119+
120+
76121

77122
## Community
78123

0 commit comments

Comments
 (0)