From 4009b546172c558a1cfa0f39dd81c896312f73d5 Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Wed, 8 Oct 2014 13:27:01 +0200 Subject: [PATCH 1/4] Revise RFC file layout to improve workflow for linking to RFC's. This commit just: * combines the `complete/` and `active/` directories into one: `text/` * renames all of the RFC text files to use their earliest associated PR number as the RFC number. A follow-on commit encodes the `active`/`complete` distinction into a list in the README.md file, and fixes a few mistakes in the RFC files that I encountered along the way. --- complete/0004-private-fields.md => text/0001-private-fields.md | 0 active/0001-rfc-process.md => text/0002-rfc-process.md | 0 complete/0002-attribute-usage.md => text/0003-attribute-usage.md | 0 active/0005-new-intrinsics.md => text/0008-new-intrinsics.md | 0 active/0040-more-attributes.md => text/0016-more-attributes.md | 0 .../0019-opt-in-builtin-traits.md | 0 complete/0006-remove-priv.md => text/0026-remove-priv.md | 0 .../0034-bounded-type-parameters.md | 0 complete/0012-libstd-facade.md => text/0040-libstd-facade.md | 0 complete/0007-regexps.md => text/0042-regexps.md | 0 active/0024-traits.md => text/0048-traits.md | 0 .../0049-match-arm-attributes.md | 0 complete/0015-assert.md => text/0050-assert.md | 0 complete/0014-remove-tilde.md => text/0059-remove-tilde.md | 0 complete/0019-rename-strbuf.md => text/0060-rename-strbuf.md | 0 .../0063-module-file-system-hierarchy.md | 0 .../0066-better-temporary-lifetimes.md | 0 .../0068-const-unsafe-pointers.md | 0 complete/0023-ascii-literals.md => text/0069-ascii-literals.md | 0 .../0017-const-block-expr.md => text/0071-const-block-expr.md | 0 .../0079-undefined-struct-layout.md | 0 complete/0020-pattern-macros.md => text/0085-pattern-macros.md | 0 .../0022-plugin-registrar.md => text/0086-plugin-registrar.md | 0 .../0087-trait-bounds-with-plus.md | 0 complete/0029-loadable-lints.md => text/0089-loadable-lints.md | 0 .../0090-lexical-syntax-simplification.md | 0 complete/0025-struct-grammar.md => text/0092-struct-grammar.md | 0 .../0026-remove-format-intl.md => text/0093-remove-format-intl.md | 0 complete/0028-partial-cmp.md => text/0100-partial-cmp.md | 0 .../0107-pattern-guards-with-bind-by-move.md | 0 complete/0035-remove-crate-id.md => text/0109-remove-crate-id.md | 0 complete/0034-index-traits.md => text/0111-index-traits.md | 0 .../0112-remove-cross-borrowing.md | 0 active/0044-closures.md => text/0114-closures.md | 0 .../0115-rm-integer-fallback.md | 0 .../0116-no-module-shadowing.md | 0 .../0123-share-to-threadsafe.md | 0 complete/0043-box-not-special.md => text/0130-box-not-special.md | 0 .../0131-target-specification.md | 0 active/0046-ufcs.md => text/0132-ufcs.md | 0 active/0066-where.md => text/0135-where.md | 0 .../0136-no-privates-in-public.md | 0 .../0139-remove-cross-borrowing-entirely.md | 0 active/0039-lifetime-elision.md => text/0141-lifetime-elision.md | 0 active/0038-capture-by-value.md => text/0151-capture-by-value.md | 0 .../0155-anonymous-impl-only-in-same-module.md | 0 complete/0051-if-let.md => text/0160-if-let.md | 0 .../0164-feature-gate-slice-pats.md | 0 complete/0041-mod.md => text/0168-mod.md | 0 complete/0047-use-path-as-id.md => text/0169-use-path-as-id.md | 0 complete/0053-tuple-accessors.md => text/0184-tuple-accessors.md | 0 .../0192-bounds-on-object-and-generic-types.md | 0 complete/0065-cfg-syntax.md => text/0194-cfg-syntax.md | 0 active/0059-associated-items.md => text/0195-associated-items.md | 0 active/0058-slice-notation.md => text/0198-slice-notation.md | 0 .../0052-ownership-variants.md => text/0199-ownership-variants.md | 0 active/0070-error-chaining.md => text/0201-error-chaining.md | 0 .../0202-subslice-syntax-change.md | 0 .../0212-restore-int-fallback.md | 0 active/0068-while-let.md => text/0214-while-let.md | 0 active/0060-collection-views.md => text/0216-collection-views.md | 0 active/0064-panic.md => text/0221-panic.md | 0 active/0062-remove-runtime.md => text/0230-remove-runtime.md | 0 .../0231-upvar-capture-inference.md | 0 .../0061-variants-namespace.md => text/0234-variants-namespace.md | 0 .../0240-unsafe-api-location.md | 0 active/0069-const-vs-static.md => text/0246-const-vs-static.md | 0 .../0256-remove-refcounting-gc-of-t.md | 0 .../0341-remove-virtual-structs.md | 0 active/0072-keywords.md => text/0342-keywords.md | 0 70 files changed, 0 insertions(+), 0 deletions(-) rename complete/0004-private-fields.md => text/0001-private-fields.md (100%) rename active/0001-rfc-process.md => text/0002-rfc-process.md (100%) rename complete/0002-attribute-usage.md => text/0003-attribute-usage.md (100%) rename active/0005-new-intrinsics.md => text/0008-new-intrinsics.md (100%) rename active/0040-more-attributes.md => text/0016-more-attributes.md (100%) rename active/0003-opt-in-builtin-traits.md => text/0019-opt-in-builtin-traits.md (100%) rename complete/0006-remove-priv.md => text/0026-remove-priv.md (100%) rename complete/0011-bounded-type-parameters.md => text/0034-bounded-type-parameters.md (100%) rename complete/0012-libstd-facade.md => text/0040-libstd-facade.md (100%) rename complete/0007-regexps.md => text/0042-regexps.md (100%) rename active/0024-traits.md => text/0048-traits.md (100%) rename complete/0008-match-arm-attributes.md => text/0049-match-arm-attributes.md (100%) rename complete/0015-assert.md => text/0050-assert.md (100%) rename complete/0014-remove-tilde.md => text/0059-remove-tilde.md (100%) rename complete/0019-rename-strbuf.md => text/0060-rename-strbuf.md (100%) rename complete/0016-module-file-system-hierarchy.md => text/0063-module-file-system-hierarchy.md (100%) rename active/0031-better-temporary-lifetimes.md => text/0066-better-temporary-lifetimes.md (100%) rename complete/0032-const-unsafe-pointers.md => text/0068-const-unsafe-pointers.md (100%) rename complete/0023-ascii-literals.md => text/0069-ascii-literals.md (100%) rename complete/0017-const-block-expr.md => text/0071-const-block-expr.md (100%) rename complete/0018-undefined-struct-layout.md => text/0079-undefined-struct-layout.md (100%) rename complete/0020-pattern-macros.md => text/0085-pattern-macros.md (100%) rename complete/0022-plugin-registrar.md => text/0086-plugin-registrar.md (100%) rename complete/0027-trait-bounds-with-plus.md => text/0087-trait-bounds-with-plus.md (100%) rename complete/0029-loadable-lints.md => text/0089-loadable-lints.md (100%) rename active/0021-lexical-syntax-simplification.md => text/0090-lexical-syntax-simplification.md (100%) rename complete/0025-struct-grammar.md => text/0092-struct-grammar.md (100%) rename complete/0026-remove-format-intl.md => text/0093-remove-format-intl.md (100%) rename complete/0028-partial-cmp.md => text/0100-partial-cmp.md (100%) rename active/0036-pattern-guards-with-bind-by-move.md => text/0107-pattern-guards-with-bind-by-move.md (100%) rename complete/0035-remove-crate-id.md => text/0109-remove-crate-id.md (100%) rename complete/0034-index-traits.md => text/0111-index-traits.md (100%) rename complete/0033-remove-cross-borrowing.md => text/0112-remove-cross-borrowing.md (100%) rename active/0044-closures.md => text/0114-closures.md (100%) rename complete/0030-rm-integer-fallback.md => text/0115-rm-integer-fallback.md (100%) rename complete/0050-no-module-shadowing.md => text/0116-no-module-shadowing.md (100%) rename complete/0045-share-to-threadsafe.md => text/0123-share-to-threadsafe.md (100%) rename complete/0043-box-not-special.md => text/0130-box-not-special.md (100%) rename active/0042-target-specification.md => text/0131-target-specification.md (100%) rename active/0046-ufcs.md => text/0132-ufcs.md (100%) rename active/0066-where.md => text/0135-where.md (100%) rename complete/0048-no-privates-in-public.md => text/0136-no-privates-in-public.md (100%) rename complete/0037-remove-cross-borrowing-entirely.md => text/0139-remove-cross-borrowing-entirely.md (100%) rename active/0039-lifetime-elision.md => text/0141-lifetime-elision.md (100%) rename active/0038-capture-by-value.md => text/0151-capture-by-value.md (100%) rename complete/0057-anonymous-impl-only-in-same-module.md => text/0155-anonymous-impl-only-in-same-module.md (100%) rename complete/0051-if-let.md => text/0160-if-let.md (100%) rename complete/0054-feature-gate-slice-pats.md => text/0164-feature-gate-slice-pats.md (100%) rename complete/0041-mod.md => text/0168-mod.md (100%) rename complete/0047-use-path-as-id.md => text/0169-use-path-as-id.md (100%) rename complete/0053-tuple-accessors.md => text/0184-tuple-accessors.md (100%) rename complete/0049-bounds-on-object-and-generic-types.md => text/0192-bounds-on-object-and-generic-types.md (100%) rename complete/0065-cfg-syntax.md => text/0194-cfg-syntax.md (100%) rename active/0059-associated-items.md => text/0195-associated-items.md (100%) rename active/0058-slice-notation.md => text/0198-slice-notation.md (100%) rename active/0052-ownership-variants.md => text/0199-ownership-variants.md (100%) rename active/0070-error-chaining.md => text/0201-error-chaining.md (100%) rename complete/0055-subslice-syntax-change.md => text/0202-subslice-syntax-change.md (100%) rename active/0056-restore-int-fallback.md => text/0212-restore-int-fallback.md (100%) rename active/0068-while-let.md => text/0214-while-let.md (100%) rename active/0060-collection-views.md => text/0216-collection-views.md (100%) rename active/0064-panic.md => text/0221-panic.md (100%) rename active/0062-remove-runtime.md => text/0230-remove-runtime.md (100%) rename active/0063-upvar-capture-inference.md => text/0231-upvar-capture-inference.md (100%) rename complete/0061-variants-namespace.md => text/0234-variants-namespace.md (100%) rename active/0073-unsafe-api-location.md => text/0240-unsafe-api-location.md (100%) rename active/0069-const-vs-static.md => text/0246-const-vs-static.md (100%) rename complete/0067-remove-refcounting-gc-of-t.md => text/0256-remove-refcounting-gc-of-t.md (100%) rename active/0071-remove-virtual-structs.md => text/0341-remove-virtual-structs.md (100%) rename active/0072-keywords.md => text/0342-keywords.md (100%) diff --git a/complete/0004-private-fields.md b/text/0001-private-fields.md similarity index 100% rename from complete/0004-private-fields.md rename to text/0001-private-fields.md diff --git a/active/0001-rfc-process.md b/text/0002-rfc-process.md similarity index 100% rename from active/0001-rfc-process.md rename to text/0002-rfc-process.md diff --git a/complete/0002-attribute-usage.md b/text/0003-attribute-usage.md similarity index 100% rename from complete/0002-attribute-usage.md rename to text/0003-attribute-usage.md diff --git a/active/0005-new-intrinsics.md b/text/0008-new-intrinsics.md similarity index 100% rename from active/0005-new-intrinsics.md rename to text/0008-new-intrinsics.md diff --git a/active/0040-more-attributes.md b/text/0016-more-attributes.md similarity index 100% rename from active/0040-more-attributes.md rename to text/0016-more-attributes.md diff --git a/active/0003-opt-in-builtin-traits.md b/text/0019-opt-in-builtin-traits.md similarity index 100% rename from active/0003-opt-in-builtin-traits.md rename to text/0019-opt-in-builtin-traits.md diff --git a/complete/0006-remove-priv.md b/text/0026-remove-priv.md similarity index 100% rename from complete/0006-remove-priv.md rename to text/0026-remove-priv.md diff --git a/complete/0011-bounded-type-parameters.md b/text/0034-bounded-type-parameters.md similarity index 100% rename from complete/0011-bounded-type-parameters.md rename to text/0034-bounded-type-parameters.md diff --git a/complete/0012-libstd-facade.md b/text/0040-libstd-facade.md similarity index 100% rename from complete/0012-libstd-facade.md rename to text/0040-libstd-facade.md diff --git a/complete/0007-regexps.md b/text/0042-regexps.md similarity index 100% rename from complete/0007-regexps.md rename to text/0042-regexps.md diff --git a/active/0024-traits.md b/text/0048-traits.md similarity index 100% rename from active/0024-traits.md rename to text/0048-traits.md diff --git a/complete/0008-match-arm-attributes.md b/text/0049-match-arm-attributes.md similarity index 100% rename from complete/0008-match-arm-attributes.md rename to text/0049-match-arm-attributes.md diff --git a/complete/0015-assert.md b/text/0050-assert.md similarity index 100% rename from complete/0015-assert.md rename to text/0050-assert.md diff --git a/complete/0014-remove-tilde.md b/text/0059-remove-tilde.md similarity index 100% rename from complete/0014-remove-tilde.md rename to text/0059-remove-tilde.md diff --git a/complete/0019-rename-strbuf.md b/text/0060-rename-strbuf.md similarity index 100% rename from complete/0019-rename-strbuf.md rename to text/0060-rename-strbuf.md diff --git a/complete/0016-module-file-system-hierarchy.md b/text/0063-module-file-system-hierarchy.md similarity index 100% rename from complete/0016-module-file-system-hierarchy.md rename to text/0063-module-file-system-hierarchy.md diff --git a/active/0031-better-temporary-lifetimes.md b/text/0066-better-temporary-lifetimes.md similarity index 100% rename from active/0031-better-temporary-lifetimes.md rename to text/0066-better-temporary-lifetimes.md diff --git a/complete/0032-const-unsafe-pointers.md b/text/0068-const-unsafe-pointers.md similarity index 100% rename from complete/0032-const-unsafe-pointers.md rename to text/0068-const-unsafe-pointers.md diff --git a/complete/0023-ascii-literals.md b/text/0069-ascii-literals.md similarity index 100% rename from complete/0023-ascii-literals.md rename to text/0069-ascii-literals.md diff --git a/complete/0017-const-block-expr.md b/text/0071-const-block-expr.md similarity index 100% rename from complete/0017-const-block-expr.md rename to text/0071-const-block-expr.md diff --git a/complete/0018-undefined-struct-layout.md b/text/0079-undefined-struct-layout.md similarity index 100% rename from complete/0018-undefined-struct-layout.md rename to text/0079-undefined-struct-layout.md diff --git a/complete/0020-pattern-macros.md b/text/0085-pattern-macros.md similarity index 100% rename from complete/0020-pattern-macros.md rename to text/0085-pattern-macros.md diff --git a/complete/0022-plugin-registrar.md b/text/0086-plugin-registrar.md similarity index 100% rename from complete/0022-plugin-registrar.md rename to text/0086-plugin-registrar.md diff --git a/complete/0027-trait-bounds-with-plus.md b/text/0087-trait-bounds-with-plus.md similarity index 100% rename from complete/0027-trait-bounds-with-plus.md rename to text/0087-trait-bounds-with-plus.md diff --git a/complete/0029-loadable-lints.md b/text/0089-loadable-lints.md similarity index 100% rename from complete/0029-loadable-lints.md rename to text/0089-loadable-lints.md diff --git a/active/0021-lexical-syntax-simplification.md b/text/0090-lexical-syntax-simplification.md similarity index 100% rename from active/0021-lexical-syntax-simplification.md rename to text/0090-lexical-syntax-simplification.md diff --git a/complete/0025-struct-grammar.md b/text/0092-struct-grammar.md similarity index 100% rename from complete/0025-struct-grammar.md rename to text/0092-struct-grammar.md diff --git a/complete/0026-remove-format-intl.md b/text/0093-remove-format-intl.md similarity index 100% rename from complete/0026-remove-format-intl.md rename to text/0093-remove-format-intl.md diff --git a/complete/0028-partial-cmp.md b/text/0100-partial-cmp.md similarity index 100% rename from complete/0028-partial-cmp.md rename to text/0100-partial-cmp.md diff --git a/active/0036-pattern-guards-with-bind-by-move.md b/text/0107-pattern-guards-with-bind-by-move.md similarity index 100% rename from active/0036-pattern-guards-with-bind-by-move.md rename to text/0107-pattern-guards-with-bind-by-move.md diff --git a/complete/0035-remove-crate-id.md b/text/0109-remove-crate-id.md similarity index 100% rename from complete/0035-remove-crate-id.md rename to text/0109-remove-crate-id.md diff --git a/complete/0034-index-traits.md b/text/0111-index-traits.md similarity index 100% rename from complete/0034-index-traits.md rename to text/0111-index-traits.md diff --git a/complete/0033-remove-cross-borrowing.md b/text/0112-remove-cross-borrowing.md similarity index 100% rename from complete/0033-remove-cross-borrowing.md rename to text/0112-remove-cross-borrowing.md diff --git a/active/0044-closures.md b/text/0114-closures.md similarity index 100% rename from active/0044-closures.md rename to text/0114-closures.md diff --git a/complete/0030-rm-integer-fallback.md b/text/0115-rm-integer-fallback.md similarity index 100% rename from complete/0030-rm-integer-fallback.md rename to text/0115-rm-integer-fallback.md diff --git a/complete/0050-no-module-shadowing.md b/text/0116-no-module-shadowing.md similarity index 100% rename from complete/0050-no-module-shadowing.md rename to text/0116-no-module-shadowing.md diff --git a/complete/0045-share-to-threadsafe.md b/text/0123-share-to-threadsafe.md similarity index 100% rename from complete/0045-share-to-threadsafe.md rename to text/0123-share-to-threadsafe.md diff --git a/complete/0043-box-not-special.md b/text/0130-box-not-special.md similarity index 100% rename from complete/0043-box-not-special.md rename to text/0130-box-not-special.md diff --git a/active/0042-target-specification.md b/text/0131-target-specification.md similarity index 100% rename from active/0042-target-specification.md rename to text/0131-target-specification.md diff --git a/active/0046-ufcs.md b/text/0132-ufcs.md similarity index 100% rename from active/0046-ufcs.md rename to text/0132-ufcs.md diff --git a/active/0066-where.md b/text/0135-where.md similarity index 100% rename from active/0066-where.md rename to text/0135-where.md diff --git a/complete/0048-no-privates-in-public.md b/text/0136-no-privates-in-public.md similarity index 100% rename from complete/0048-no-privates-in-public.md rename to text/0136-no-privates-in-public.md diff --git a/complete/0037-remove-cross-borrowing-entirely.md b/text/0139-remove-cross-borrowing-entirely.md similarity index 100% rename from complete/0037-remove-cross-borrowing-entirely.md rename to text/0139-remove-cross-borrowing-entirely.md diff --git a/active/0039-lifetime-elision.md b/text/0141-lifetime-elision.md similarity index 100% rename from active/0039-lifetime-elision.md rename to text/0141-lifetime-elision.md diff --git a/active/0038-capture-by-value.md b/text/0151-capture-by-value.md similarity index 100% rename from active/0038-capture-by-value.md rename to text/0151-capture-by-value.md diff --git a/complete/0057-anonymous-impl-only-in-same-module.md b/text/0155-anonymous-impl-only-in-same-module.md similarity index 100% rename from complete/0057-anonymous-impl-only-in-same-module.md rename to text/0155-anonymous-impl-only-in-same-module.md diff --git a/complete/0051-if-let.md b/text/0160-if-let.md similarity index 100% rename from complete/0051-if-let.md rename to text/0160-if-let.md diff --git a/complete/0054-feature-gate-slice-pats.md b/text/0164-feature-gate-slice-pats.md similarity index 100% rename from complete/0054-feature-gate-slice-pats.md rename to text/0164-feature-gate-slice-pats.md diff --git a/complete/0041-mod.md b/text/0168-mod.md similarity index 100% rename from complete/0041-mod.md rename to text/0168-mod.md diff --git a/complete/0047-use-path-as-id.md b/text/0169-use-path-as-id.md similarity index 100% rename from complete/0047-use-path-as-id.md rename to text/0169-use-path-as-id.md diff --git a/complete/0053-tuple-accessors.md b/text/0184-tuple-accessors.md similarity index 100% rename from complete/0053-tuple-accessors.md rename to text/0184-tuple-accessors.md diff --git a/complete/0049-bounds-on-object-and-generic-types.md b/text/0192-bounds-on-object-and-generic-types.md similarity index 100% rename from complete/0049-bounds-on-object-and-generic-types.md rename to text/0192-bounds-on-object-and-generic-types.md diff --git a/complete/0065-cfg-syntax.md b/text/0194-cfg-syntax.md similarity index 100% rename from complete/0065-cfg-syntax.md rename to text/0194-cfg-syntax.md diff --git a/active/0059-associated-items.md b/text/0195-associated-items.md similarity index 100% rename from active/0059-associated-items.md rename to text/0195-associated-items.md diff --git a/active/0058-slice-notation.md b/text/0198-slice-notation.md similarity index 100% rename from active/0058-slice-notation.md rename to text/0198-slice-notation.md diff --git a/active/0052-ownership-variants.md b/text/0199-ownership-variants.md similarity index 100% rename from active/0052-ownership-variants.md rename to text/0199-ownership-variants.md diff --git a/active/0070-error-chaining.md b/text/0201-error-chaining.md similarity index 100% rename from active/0070-error-chaining.md rename to text/0201-error-chaining.md diff --git a/complete/0055-subslice-syntax-change.md b/text/0202-subslice-syntax-change.md similarity index 100% rename from complete/0055-subslice-syntax-change.md rename to text/0202-subslice-syntax-change.md diff --git a/active/0056-restore-int-fallback.md b/text/0212-restore-int-fallback.md similarity index 100% rename from active/0056-restore-int-fallback.md rename to text/0212-restore-int-fallback.md diff --git a/active/0068-while-let.md b/text/0214-while-let.md similarity index 100% rename from active/0068-while-let.md rename to text/0214-while-let.md diff --git a/active/0060-collection-views.md b/text/0216-collection-views.md similarity index 100% rename from active/0060-collection-views.md rename to text/0216-collection-views.md diff --git a/active/0064-panic.md b/text/0221-panic.md similarity index 100% rename from active/0064-panic.md rename to text/0221-panic.md diff --git a/active/0062-remove-runtime.md b/text/0230-remove-runtime.md similarity index 100% rename from active/0062-remove-runtime.md rename to text/0230-remove-runtime.md diff --git a/active/0063-upvar-capture-inference.md b/text/0231-upvar-capture-inference.md similarity index 100% rename from active/0063-upvar-capture-inference.md rename to text/0231-upvar-capture-inference.md diff --git a/complete/0061-variants-namespace.md b/text/0234-variants-namespace.md similarity index 100% rename from complete/0061-variants-namespace.md rename to text/0234-variants-namespace.md diff --git a/active/0073-unsafe-api-location.md b/text/0240-unsafe-api-location.md similarity index 100% rename from active/0073-unsafe-api-location.md rename to text/0240-unsafe-api-location.md diff --git a/active/0069-const-vs-static.md b/text/0246-const-vs-static.md similarity index 100% rename from active/0069-const-vs-static.md rename to text/0246-const-vs-static.md diff --git a/complete/0067-remove-refcounting-gc-of-t.md b/text/0256-remove-refcounting-gc-of-t.md similarity index 100% rename from complete/0067-remove-refcounting-gc-of-t.md rename to text/0256-remove-refcounting-gc-of-t.md diff --git a/active/0071-remove-virtual-structs.md b/text/0341-remove-virtual-structs.md similarity index 100% rename from active/0071-remove-virtual-structs.md rename to text/0341-remove-virtual-structs.md diff --git a/active/0072-keywords.md b/text/0342-keywords.md similarity index 100% rename from active/0072-keywords.md rename to text/0342-keywords.md From f9f030ec7d68d9ebe967d90dbf25e26fd37223d9 Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Wed, 8 Oct 2014 13:38:33 +0200 Subject: [PATCH 2/4] Fixed typos and format inconsistencies in headers of various RFCs. In particular: * The RFC associated with #127 should have had a link to #19 as well (and has been assigned RFC #19); it also was revised to match the markdown href style of other RFCs. * RFC #34 needed its header entries filled in, * RFC #123 had a typo in its header, and * RC #155 was revised to match the markdown href style of other RFCs. --- text/0019-opt-in-builtin-traits.md | 4 ++-- text/0034-bounded-type-parameters.md | 4 ++-- text/0123-share-to-threadsafe.md | 2 +- text/0155-anonymous-impl-only-in-same-module.md | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/text/0019-opt-in-builtin-traits.md b/text/0019-opt-in-builtin-traits.md index ae4ab261e93..c29e0356326 100644 --- a/text/0019-opt-in-builtin-traits.md +++ b/text/0019-opt-in-builtin-traits.md @@ -1,6 +1,6 @@ - Start Date: 2014-09-18 -- RFC PR #: #127 -- Rust Issue #: #13231 +- RFC PR #: [rust-lang/rfcs#19](https://github.com/rust-lang/rfcs/pull/19), [rust-lang/rfcs#127](https://github.com/rust-lang/rfcs/pull/127) +- Rust Issue #: [rust-lang/rust#13231](https://github.com/rust-lang/rust/issues/13231) # Summary diff --git a/text/0034-bounded-type-parameters.md b/text/0034-bounded-type-parameters.md index aaaaf6bdb88..96504d94336 100644 --- a/text/0034-bounded-type-parameters.md +++ b/text/0034-bounded-type-parameters.md @@ -1,6 +1,6 @@ - Start Date: 2014-04-05 -- RFC PR: -- Rust Issue: +- RFC PR: [rust-lang/rfcs#34](https://github.com/rust-lang/rfcs/pull/34) +- Rust Issue: [rust-lang/rust#15759](https://github.com/rust-lang/rust/issues/15759) # Summary diff --git a/text/0123-share-to-threadsafe.md b/text/0123-share-to-threadsafe.md index 5b3422d479c..0d8739d7748 100644 --- a/text/0123-share-to-threadsafe.md +++ b/text/0123-share-to-threadsafe.md @@ -1,5 +1,5 @@ - Start Date: 2014-06-15 -- RFC PR #: [rust-lang/rfcs#123](https://github.com/rust-lang/rfcs/pull/123j) +- RFC PR #: [rust-lang/rfcs#123](https://github.com/rust-lang/rfcs/pull/123) - Rust Issue #: [rust-lang/rust#16281](https://github.com/rust-lang/rust/issues/16281) # Summary diff --git a/text/0155-anonymous-impl-only-in-same-module.md b/text/0155-anonymous-impl-only-in-same-module.md index 065dc8a86af..8bc961ec716 100644 --- a/text/0155-anonymous-impl-only-in-same-module.md +++ b/text/0155-anonymous-impl-only-in-same-module.md @@ -1,6 +1,6 @@ - Start Date: 2014-07-04 -- RFC PR #: 155 -- Rust Issue #: 17059 +- RFC PR #: [rust-lang/rfcs#155](https://github.com/rust-lang/rfcs/pull/155) +- Rust Issue #: [rust-lang/rust#17059](https://github.com/rust-lang/rust/issues/17059) # Summary From 71eb49d56bbb4d15b0b0f0e9cbd0cc8f9ed7a136 Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Wed, 8 Oct 2014 13:41:09 +0200 Subject: [PATCH 3/4] Revised README.md to contain a list of the active RFCs. Added a table-of-contents in the hopes that will ease navigation: the document now starts off with the active list after the introduction, so I anticipate that one will not see as much of the expository text as one used to, and thus the table of contents will help someone who is skimming to find their objective. --- README.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 21ed55020c1..fd9a0bf2c9e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # Rust RFCs +[Rust RFCs]: #rust-rfcs + +(jump forward to: [Table of Contents], [Active RFC List]) Many changes, including bug fixes and documentation improvements can be implemented and reviewed via the normal GitHub pull request workflow. @@ -12,7 +15,54 @@ consistent and controlled path for new features to enter the language and standard libraries, so that all stakeholders can be confident about the direction the language is evolving in. +## Active RFC List +[Active RFC List]: #active-rfc-list + +* [0002-rfc-process.md](text/0002-rfc-process.md) +* [0008-new-intrinsics.md](text/0008-new-intrinsics.md) +* [0016-more-attributes.md](text/0016-more-attributes.md) +* [0019-opt-in-builtin-traits.md](text/0019-opt-in-builtin-traits.md) +* [0048-traits.md](text/0048-traits.md) +* [0066-better-temporary-lifetimes.md](text/0066-better-temporary-lifetimes.md) +* [0090-lexical-syntax-simplification.md](text/0090-lexical-syntax-simplification.md) +* [0107-pattern-guards-with-bind-by-move.md](text/0107-pattern-guards-with-bind-by-move.md) +* [0114-closures.md](text/0114-closures.md) +* [0131-target-specification.md](text/0131-target-specification.md) +* [0132-ufcs.md](text/0132-ufcs.md) +* [0135-where.md](text/0135-where.md) +* [0141-lifetime-elision.md](text/0141-lifetime-elision.md) +* [0151-capture-by-value.md](text/0151-capture-by-value.md) +* [0195-associated-items.md](text/0195-associated-items.md) +* [0198-slice-notation.md](text/0198-slice-notation.md) +* [0199-ownership-variants.md](text/0199-ownership-variants.md) +* [0201-error-chaining.md](text/0201-error-chaining.md) +* [0212-restore-int-fallback.md](text/0212-restore-int-fallback.md) +* [0214-while-let.md](text/0214-while-let.md) +* [0216-collection-views.md](text/0216-collection-views.md) +* [0221-panic.md](text/0221-panic.md) +* [0230-remove-runtime.md](text/0230-remove-runtime.md) +* [0231-upvar-capture-inference.md](text/0231-upvar-capture-inference.md) +* [0240-unsafe-api-location.md](text/0240-unsafe-api-location.md) +* [0246-const-vs-static.md](text/0246-const-vs-static.md) +* [0341-remove-virtual-structs.md](text/0341-remove-virtual-structs.md) +* [0342-keywords.md](text/0342-keywords.md) + +## Table of Contents +[Table of Contents]: #table-of-contents +* [Opening](#rust-rfcs) +* [Active RFC List] +* [Table of Contents] +* [When you need to follow this process] +* [What the process is] +* [The role of the shepherd] +* [The RFC life-cycle] +* [Implementing an RFC] +* [Reviewing RFC's] +* [RFC Postponement] +* [Help this is all too informal!] + ## When you need to follow this process +[When you need to follow this process]: #when-you-need-to-follow-this-process You need to follow this process if you intend to make "substantial" changes to the Rust distribution. What constitutes a "substantial" @@ -39,7 +89,7 @@ through the RFC process, it may be closed with a polite request to submit an RFC first. ## What the process is - +[What the process is]: #what-the-process-is In short, to get a major feature added to Rust, one must first get the RFC merged into the RFC repo as a markdown file. At that point the RFC is 'active' and may be implemented with the goal of eventual inclusion @@ -62,6 +112,7 @@ merging the pull request and assigning the RFC a number, at which point the RFC is 'active', or reject it by closing the pull request. ## The role of the shepherd +[The role of the shepherd]: the-role-of-the-shepherd During triage, every RFC will either be closed or assigned a shepherd. The role of the shepherd is to move the RFC through the process. This @@ -74,6 +125,7 @@ here is to "front-load" as much of the feedback as possible before the point where we actually reach a decision. ## The RFC life-cycle +[The RFC life-cycle]: #the-rfc-life-cycle Once an RFC becomes active then authors may implement it and submit the feature as a pull request to the Rust repo. An 'active' is not a rubber @@ -100,6 +152,7 @@ that fails after becoming active is 'inactive' and moves to the 'inactive' folder. ## Implementing an RFC +[Implementing an RFC]: #implementing-an-rfc Some accepted RFC's represent vital features that need to be implemented right away. Other accepted RFC's can represent features @@ -118,6 +171,7 @@ RFC, but cannot determine if someone else is already working on it, feel free to ask (e.g. by leaving a comment on the associated issue). ## Reviewing RFC's +[Reviewing RFC's]: #reviewing-rfcs Each week the [core team] will attempt to review some set of open RFC pull requests. The choice of pull requests to review is largely @@ -144,6 +198,7 @@ should act as a "shepherd" for the feature. The shepherd need not its virtues and the community’s desire for it. ## RFC Postponement +[RFC Postponement]: #rfc-postponement Some RFC pull requests are tagged with the 'postponed' label when they are closed (as part of the rejection process). An RFC closed with @@ -161,6 +216,7 @@ response is to close the RFC, not postpone it.) ### Help this is all too informal! +[Help this is all too informal!]: #help-this-is-all-too-informal The process is intended to be as lightweight as reasonable for the present circumstances. As usual, we are trying to let the process be From 136bf75c5bba6c2865d52d9b21f46b642d058f01 Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Wed, 8 Oct 2014 13:53:44 +0200 Subject: [PATCH 4/4] Update RFC Process document with procedure one follows with new dir layout. --- text/0002-rfc-process.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/text/0002-rfc-process.md b/text/0002-rfc-process.md index 86f7e8bf814..4bd0c1f02a8 100644 --- a/text/0002-rfc-process.md +++ b/text/0002-rfc-process.md @@ -61,7 +61,7 @@ is 'active' and may be implemented with the goal of eventual inclusion into Rust. * Fork the RFC repo https://github.com/rust-lang/rfcs -* Copy `0000-template.md` to `active/0000-my-feature.md` (where +* Copy `0000-template.md` to `text/0000-my-feature.md` (where 'my-feature' is descriptive. don't assign an RFC number yet). * Fill in the RFC * Submit a pull request. The pull request is the time to get review of @@ -71,16 +71,19 @@ are much more likely to make progress than those that don't receive any comments. Eventually, somebody on the [core team] will either accept the RFC by -merging the pull request and assigning the RFC a number, at which point -the RFC is 'active', or reject it by closing the pull request. +merging the pull request, at which point the RFC is 'active', or +reject it by closing the pull request. Whomever merges the RFC should do the following: -* Assign a sequential id. -* Add the file in the active directory. -* Create a corresponding issue on Rust. -* Fill in the remaining metadata in the RFC header, including the original - PR # and Rust issue #. +* Assign an id, using the PR number of the RFC pull request. (If the RFC + has multiple pull requests associated with it, choose one PR number, + preferably the minimal one.) +* Add the file in the `text/` directory. +* Create a corresponding issue on [Rust repo](https://github.com/rust-lang/rust) +* Fill in the remaining metadata in the RFC header, including links for + the original pull request(s) and the newly created Rust issue. +* Add an entry in the [Active RFC List] of the root `README.md`. * Commit everything. Once an RFC becomes active then authors may implement it and submit the @@ -91,9 +94,11 @@ have agreed to the feature and are amenable to merging it. Modifications to active RFC's can be done in followup PR's. An RFC that makes it through the entire process to implementation is considered -'complete' and is moved to the 'complete' folder; an RFC that fails +'complete' and is removed from the [Active RFC List]; an RFC that fails after becoming active is 'inactive' and moves to the 'inactive' folder. +[Active RFC List]: ../README.md#active-rfc-list + # Alternatives Retain the current informal RFC process. The newly proposed RFC process is