Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stabilize the "ip" feature #66584

Open
wants to merge 2 commits into
base: master
from
Open

Conversation

@little-dude
Copy link
Contributor

little-dude commented Nov 20, 2019

This my first time doing that, so I hope I didn't mess this up.


Stabilize the "ip" feature (fixes #27709), and add a disclaimer about the IP helpers stability (fixes #60239)

Stabilize the following methods:

  • IpAddr::is_global
  • IpAddr::is_documentation
  • Ipv4Addr::is_global
  • Ipv4addr::is_shared
  • Ipv4Addr::is_ietf_protocol_assignment
  • Ipv4addr::is_benchmarking
  • Ipv4Addr::is_reserved
  • Ipv6Addr::is_global
  • Ipv6Addr::is_unique_local
  • Ipv6Addr::is_unicast_link_local_strict
  • Ipv6Addr::is_unicast_link_local
  • Ipv6Addr::is_unicast_site_local
  • Ipv6Addr::is_documentation
  • Ipv6Addr::is_unicast_global
  • Ipv6Addr::multicast_scope

Stabilize the following enum: Ipv6MulticastScope

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Nov 20, 2019

r? @Kimundi

(rust_highfive has picked a reviewer for you, use r? to override)

@little-dude

This comment has been minimized.

Copy link
Contributor Author

little-dude commented Nov 21, 2019

@the8472, what do you think of the "stability guarantees" disclaimer?

src/libstd/net/mod.rs Outdated Show resolved Hide resolved
src/libstd/net/mod.rs Outdated Show resolved Hide resolved
src/libstd/net/mod.rs Outdated Show resolved Hide resolved
@little-dude little-dude force-pushed the little-dude:master branch from f5d871a to b030bb5 Nov 23, 2019
@Dylan-DPC

This comment has been minimized.

Copy link
Member

Dylan-DPC commented Dec 8, 2019

r? @kennytm

@rust-highfive rust-highfive assigned kennytm and unassigned Kimundi Dec 8, 2019
src/libstd/net/ip.rs Show resolved Hide resolved
src/libstd/net/mod.rs Show resolved Hide resolved
src/libstd/net/mod.rs Show resolved Hide resolved
@kennytm

This comment has been minimized.

Copy link
Member

kennytm commented Dec 8, 2019

@Dylan-DPC This stabilization PR requires FCP from the libs team. Could you r? a libs team member instead? Thanks.

@Dylan-DPC

This comment has been minimized.

Copy link
Member

Dylan-DPC commented Dec 8, 2019

Thanks for reviewing.

r? @KodrAus

@rust-highfive rust-highfive assigned KodrAus and unassigned kennytm Dec 8, 2019
@little-dude little-dude force-pushed the little-dude:master branch from 01c11e0 to 8b1e82e Dec 9, 2019
@little-dude

This comment has been minimized.

Copy link
Contributor Author

little-dude commented Dec 19, 2019

Hi, is there anything I can do to push this forward?

@Dylan-DPC

This comment has been minimized.

Copy link
Member

Dylan-DPC commented Dec 20, 2019

@little-dude nothing. we will do a team consensus voting after the holiday break.

@Centril Centril modified the milestones: 1.41, 1.42 Dec 20, 2019
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 23, 2019

☔️ The latest upstream changes (presumably #67540) made this pull request unmergeable. Please resolve the merge conflicts.

@little-dude little-dude force-pushed the little-dude:master branch from 8b1e82e to 12f676e Dec 30, 2019
@little-dude

This comment has been minimized.

Copy link
Contributor Author

little-dude commented Jan 8, 2020

@Dylan-DPC @KodrAus can we start an FCP? I seems that it did not make it to 1.41 so I'd like to make sure it's not forgotten for 1.42.

Copy link
Contributor

KodrAus left a comment

Thanks for your patience @little-dude!

I’ve just left a few comments around docs, but I don’t think that needs to hold up the FCP.

@rfcbot fcp merge

@@ -124,13 +116,21 @@ pub struct Ipv6Addr {

#[allow(missing_docs)]

This comment has been minimized.

Copy link
@KodrAus

KodrAus Jan 11, 2020

Contributor

Let’s make sure we have proper docs for this before stabilizing, which I think would include linking to the appropriate section of the RFC.

This comment has been minimized.

Copy link
@little-dude

little-dude Jan 11, 2020

Author Contributor

I just noticed that the Reserved and Unassigned variants are part of the table but are missing from the enum. Instead, Ipv6Address::multicast_scope() returns None for such scopes. I don't think this is a problem but I think it's worth mentioning. Maybe @therealbstern or @the8472 have an opinion on that API?

This comment has been minimized.

Copy link
@therealbstern

therealbstern Jan 11, 2020

Contributor

FWIW, I think Reserved and Unassigned are good things to put in the enum, but my concern is that there's a non-zero chance the Reserved/Unassigned space will get assigned to something in the future.

On the other hand, None is just as wrong as Reserved or Unassigned if the IETF assigns them in the future. In addition, IPv6 is so big that who knows when/if they'll get assigned.

My measured opinion is that we should add Reserved and Unassigned right now, since it's correct right now and might remain correct indefinitely.

This comment has been minimized.

Copy link
@KodrAus

KodrAus Jan 11, 2020

Contributor

I think it’s something to consider now before stabilization.

Let’s at least drop a #[non_exhaustive] attribute on the enum so we can add those variants later if need be.

This comment has been minimized.

Copy link
@the8472

the8472 Jan 11, 2020

Yes, nonexhaustive should cover future RFC changes nicely.

This comment has been minimized.

Copy link
@little-dude

little-dude Jan 12, 2020

Author Contributor

sounds good, I'll make the changes.
edit: pushed a commit with the changes.

src/libstd/net/mod.rs Outdated Show resolved Hide resolved
src/libstd/net/mod.rs Outdated Show resolved Hide resolved
@kennytm

This comment has been minimized.

Copy link
Member

kennytm commented Jan 11, 2020

@KodrAus I think rfcbot only responds to normal comments , not review comments

@little-dude little-dude force-pushed the little-dude:master branch from 6dab5c7 to fe36847 Jan 11, 2020
@little-dude

This comment has been minimized.

Copy link
Contributor Author

little-dude commented Jan 11, 2020

Thanks for the review @KodrAus. I addressed your comments and squashed the commits.

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Jan 11, 2020

The job mingw-check of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-01-11T16:41:58.1082254Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-01-11T16:41:58.1092634Z ##[command]git config gc.auto 0
2020-01-11T16:41:58.1095047Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-01-11T16:41:58.1097051Z ##[command]git config --get-all http.proxy
2020-01-11T16:41:58.1099683Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66584/merge:refs/remotes/pull/66584/merge
---
2020-01-11T16:47:14.0226461Z 
2020-01-11T16:47:14.0231668Z error: missing documentation for a variant
2020-01-11T16:47:14.0233103Z    --> src/libstd/net/ip.rs:128:5
2020-01-11T16:47:14.0233741Z     |
2020-01-11T16:47:14.0234282Z 128 |     RealmLocal,
2020-01-11T16:47:14.0234944Z 
2020-01-11T16:47:14.0242248Z error: missing documentation for a variant
2020-01-11T16:47:14.0242835Z    --> src/libstd/net/ip.rs:130:5
2020-01-11T16:47:14.0243286Z     |
2020-01-11T16:47:14.0243286Z     |
2020-01-11T16:47:14.0243789Z 130 |     AdminLocal,
2020-01-11T16:47:14.0244492Z 
2020-01-11T16:47:14.0250660Z error: missing documentation for a variant
2020-01-11T16:47:14.0251237Z    --> src/libstd/net/ip.rs:132:5
2020-01-11T16:47:14.0251679Z     |
---
2020-01-11T16:47:15.1851148Z   local time: Sat Jan 11 16:47:14 UTC 2020
2020-01-11T16:47:15.1851302Z   network time: Sat, 11 Jan 2020 16:47:14 GMT
2020-01-11T16:47:15.1851453Z == end clock drift check ==
2020-01-11T16:47:15.3288271Z 
2020-01-11T16:47:15.3401967Z ##[error]Bash exited with code '1'.
2020-01-11T16:47:15.3438874Z ##[section]Starting: Checkout
2020-01-11T16:47:15.3441041Z ==============================================================================
2020-01-11T16:47:15.3441127Z Task         : Get sources
2020-01-11T16:47:15.3441177Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@little-dude little-dude force-pushed the little-dude:master branch from fe36847 to f98735e Jan 11, 2020
@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Jan 11, 2020

The job x86_64-gnu-llvm-7 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-01-11T17:07:41.3277746Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-01-11T17:07:41.3367572Z ##[command]git config gc.auto 0
2020-01-11T17:07:41.3467798Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-01-11T17:07:41.3545204Z ##[command]git config --get-all http.proxy
2020-01-11T17:07:41.3682369Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66584/merge:refs/remotes/pull/66584/merge
---
2020-01-11T18:03:55.1640843Z .........................................i...............i.......................................... 4900/9516
2020-01-11T18:04:04.1243654Z .................................................................................................... 5000/9516
2020-01-11T18:04:10.4046039Z ....................................................................................i............... 5100/9516
2020-01-11T18:04:15.6301389Z .................................................................................................... 5200/9516
2020-01-11T18:04:25.7345337Z .......................................................ii.ii...........i............................ 5300/9516
2020-01-11T18:04:34.4841427Z .................................................................................................... 5500/9516
2020-01-11T18:04:44.3599801Z .................................................................................................... 5600/9516
2020-01-11T18:04:50.7021014Z ........................................i........................................................... 5700/9516
2020-01-11T18:04:57.0677045Z .................................................................................................... 5800/9516
2020-01-11T18:04:57.0677045Z .................................................................................................... 5800/9516
2020-01-11T18:05:07.6612347Z .................................................................................................... 5900/9516
2020-01-11T18:05:17.6321747Z ...............................ii...i..ii...........i............................................... 6000/9516
2020-01-11T18:05:35.6243088Z .................................................................................................... 6200/9516
2020-01-11T18:05:43.5974285Z .................................................................................................... 6300/9516
2020-01-11T18:05:43.5974285Z .................................................................................................... 6300/9516
2020-01-11T18:05:55.8164940Z ..........................................................i..ii..................................... 6400/9516
2020-01-11T18:06:22.6238540Z .................................................................................................... 6600/9516
2020-01-11T18:06:24.5427705Z .................................i.................................................................. 6700/9516
2020-01-11T18:06:26.6068859Z .................................................................................................... 6800/9516
2020-01-11T18:06:28.9777598Z .................................i.................................................................. 6900/9516
---
2020-01-11T18:08:01.7311899Z .................................................................................................... 7500/9516
2020-01-11T18:08:05.9110123Z .................................................................................................... 7600/9516
2020-01-11T18:08:11.5621227Z .................................................................................................... 7700/9516
2020-01-11T18:08:18.6888871Z .................................................................................................... 7800/9516
2020-01-11T18:08:28.1009490Z ..................................................................................iiii.............. 7900/9516
2020-01-11T18:08:43.8501346Z ................i......i............................................................................ 8100/9516
2020-01-11T18:08:48.8298843Z .................................................................................................... 8200/9516
2020-01-11T18:09:01.9275715Z .................................................................................................... 8300/9516
2020-01-11T18:09:11.6600860Z .................................................................................................... 8400/9516
---
2020-01-11T18:11:31.0119871Z  finished in 6.663
2020-01-11T18:11:31.0301998Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-11T18:11:31.1878313Z 
2020-01-11T18:11:31.1878426Z running 166 tests
2020-01-11T18:11:34.1280163Z iiii......i........ii..iiii...i....i...........i............i..i..................i....i............ 100/166
2020-01-11T18:11:36.4417049Z i.i.i...iii..iiiiiii.......................iii............ii......
2020-01-11T18:11:36.4420229Z 
2020-01-11T18:11:36.4422487Z  finished in 5.412
2020-01-11T18:11:36.4642774Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-11T18:11:36.6210276Z 
---
2020-01-11T18:11:39.1172439Z  finished in 2.069
2020-01-11T18:11:39.1173189Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-11T18:11:39.1173461Z 
2020-01-11T18:11:39.1173621Z running 9 tests
2020-01-11T18:11:39.1174395Z iiiiiiiii
2020-01-11T18:11:39.1175615Z 
2020-01-11T18:11:39.1175756Z  finished in 0.153
2020-01-11T18:11:39.1176227Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-11T18:11:39.1176392Z 
---
2020-01-11T18:11:58.2920542Z  finished in 19.568
2020-01-11T18:11:58.3113061Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-11T18:11:58.4702970Z 
2020-01-11T18:11:59.1253417Z running 124 tests
2020-01-11T18:12:22.1230585Z .iiiii..ii.....i..i...i..i.i.i..i..i..iii....ii.ii....ii..........iiii..........i.....i..ii.......ii 100/124
2020-01-11T18:12:26.0608504Z .i.iii.....iiiiii.....ii
2020-01-11T18:12:26.0609662Z 
2020-01-11T18:12:26.0609888Z  finished in 27.749
2020-01-11T18:12:26.0616449Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-01-11T18:12:26.0616950Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2020-01-11T18:24:52.9599246Z 
2020-01-11T18:24:52.9601800Z    Doc-tests core
2020-01-11T18:24:57.3985067Z 
2020-01-11T18:24:57.3986182Z running 2442 tests
2020-01-11T18:25:06.4007083Z ......iiiii......................................................................................... 100/2442
2020-01-11T18:25:15.1091795Z ..................................................................................ii................ 200/2442
2020-01-11T18:25:36.5624826Z ................i................................................................................... 400/2442
2020-01-11T18:25:36.5624826Z ................i................................................................................... 400/2442
2020-01-11T18:25:46.4336733Z .................................................................i..i..................iiii......... 500/2442
2020-01-11T18:26:03.0261973Z .................................................................................................... 700/2442
2020-01-11T18:26:11.5627032Z .................................................................................................... 800/2442
2020-01-11T18:26:20.2680167Z .................................................................................................... 900/2442
2020-01-11T18:26:28.8489678Z .................................................................................................... 1000/2442
---
2020-01-11T18:30:00.6539405Z 
2020-01-11T18:30:00.6540923Z running 1003 tests
2020-01-11T18:30:18.6087733Z i................................................................................................... 100/1003
2020-01-11T18:30:28.4604119Z .................................................................................................... 200/1003
2020-01-11T18:30:35.3509231Z ..................iii......i......i...i......i...................................................... 300/1003
2020-01-11T18:30:40.3186859Z .................................................................................................... 400/1003
2020-01-11T18:30:47.0151382Z ..........................................i..i.....................................ii............... 500/1003
2020-01-11T18:30:59.4372172Z .................................................................................................... 700/1003
2020-01-11T18:30:59.4372172Z .................................................................................................... 700/1003
2020-01-11T18:31:05.8473903Z .............................iiii................................................................... 800/1003
2020-01-11T18:31:19.6151899Z .................................................................................................... 900/1003
2020-01-11T18:31:26.4625820Z ...................................................iiii............................................. 1000/1003
2020-01-11T18:31:26.5578204Z test result: ok. 983 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out
2020-01-11T18:31:26.5578471Z 
2020-01-11T18:31:26.5687545Z  finished in 167.619
2020-01-11T18:31:26.5701526Z Testing term stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
2020-01-11T18:48:29.1381698Z Rustbook (x86_64-unknown-linux-gnu) - edition-guide
2020-01-11T18:48:29.5401682Z Building stage0 tool linkchecker (x86_64-unknown-linux-gnu)
2020-01-11T18:48:29.6975223Z    Compiling linkchecker v0.1.0 (/checkout/src/tools/linkchecker)
2020-01-11T18:48:31.1317550Z     Finished release [optimized] target(s) in 1.58s
2020-01-11T18:48:36.8856359Z std/net/enum.IpAddr.html:35: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.8857767Z std/net/enum.IpAddr.html:47: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.8858711Z std/net/enum.IpAddr.html:59: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.8859438Z std/net/enum.IpAddr.html:71: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.8860023Z std/net/enum.IpAddr.html:86: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.8860545Z std/net/enum.IpAddr.html:96: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.8861300Z std/net/enum.IpAddr.html:106: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9118851Z std/net/struct.Ipv4Addr.html:53: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9122802Z std/net/struct.Ipv4Addr.html:73: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9124847Z std/net/struct.Ipv4Addr.html:94: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9125753Z std/net/struct.Ipv4Addr.html:106: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9126411Z std/net/struct.Ipv4Addr.html:171: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9126953Z std/net/struct.Ipv4Addr.html:183: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9127532Z std/net/struct.Ipv4Addr.html:204: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9128060Z std/net/struct.Ipv4Addr.html:218: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9129136Z std/net/struct.Ipv4Addr.html:240: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9129736Z std/net/struct.Ipv4Addr.html:253: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9130244Z std/net/struct.Ipv4Addr.html:264: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9130712Z std/net/struct.Ipv4Addr.html:282: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9131203Z std/net/struct.Ipv4Addr.html:295: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9131667Z std/net/struct.Ipv4Addr.html:306: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9161690Z std/net/struct.Ipv6Addr.html:48: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9167121Z std/net/struct.Ipv6Addr.html:59: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9168251Z std/net/struct.Ipv6Addr.html:70: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9168958Z std/net/struct.Ipv6Addr.html:87: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9170901Z std/net/struct.Ipv6Addr.html:98: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9172410Z std/net/struct.Ipv6Addr.html:136: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9173085Z std/net/struct.Ipv6Addr.html:174: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9173641Z std/net/struct.Ipv6Addr.html:198: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9174162Z std/net/struct.Ipv6Addr.html:210: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9174676Z std/net/struct.Ipv6Addr.html:233: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9175322Z std/net/struct.Ipv6Addr.html:246: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9176091Z std/net/struct.Ipv6Addr.html:257: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:36.9176558Z std/net/struct.Ipv6Addr.html:272: broken link fragment `#ip-addresses-helpers-stability-guarantees` pointing to `std/net/index.html`
2020-01-11T18:48:39.4459819Z thread 'main' panicked at 'found some broken links', src/tools/linkchecker/main.rs:43:9
2020-01-11T18:48:39.4505418Z 
2020-01-11T18:48:39.4505922Z 
2020-01-11T18:48:39.4506724Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/linkchecker" "/checkout/obj/build/x86_64-unknown-linux-gnu/doc"
2020-01-11T18:48:39.4507028Z expected success, got: exit code: 101
---
2020-01-11T18:48:39.4586051Z   local time: Sat Jan 11 18:48:39 UTC 2020
2020-01-11T18:48:39.7500817Z   network time: Sat, 11 Jan 2020 18:48:39 GMT
2020-01-11T18:48:39.7504636Z == end clock drift check ==
2020-01-11T18:48:41.4090344Z 
2020-01-11T18:48:41.4200104Z ##[error]Bash exited with code '1'.
2020-01-11T18:48:41.4268386Z ##[section]Starting: Checkout
2020-01-11T18:48:41.4269750Z ==============================================================================
2020-01-11T18:48:41.4269795Z Task         : Get sources
2020-01-11T18:48:41.4269845Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@KodrAus

This comment has been minimized.

Copy link
Contributor

KodrAus commented Jan 11, 2020

Let’s see if it will respond at all!

@rfcbot fcp merge

This proposes stabilizing the remaining items under the ip feature listed in #27709.

@rfcbot

This comment has been minimized.

Copy link

rfcbot commented Jan 11, 2020

Team member @KodrAus has proposed to merge this. The next step is review by the rest of the tagged team members:

Concerns:

Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

See this document for info about what commands tagged team members can give me.

@KodrAus

This comment has been minimized.

Copy link
Contributor

KodrAus commented Jan 11, 2020

@rfcbot concern unicast link local strict

I‘m a little skeptical of Ipv6Addr::is_unicast_link_local vs Ipv6Addr::is_unicast_link_local_strict. There’s some discussion linked in the commit that introduces it about some inconsistent treatment in the RFC, but I think it’s worth considering punting in this round of stabilization.

Feature tracking issue: #27709

- Stabilize the following methods:
    - `IpAddr::is_global`
    - `IpAddr::is_documentation`
    - `Ipv4Addr::is_global`
    - `Ipv4addr::is_shared`
    - `Ipv4Addr::is_ietf_protocol_assignment`
    - `Ipv4addr::is_benchmarking`
    - `Ipv4Addr::is_reserved`
    - `Ipv6Addr::is_global`
    - `Ipv6Addr::is_unique_local`
    - `Ipv6Addr::is_unicast_link_local_strict`
    - `Ipv6Addr::is_unicast_link_local`
    - `Ipv6Addr::is_unicast_site_local`
    - `Ipv6Addr::is_documentation`
    - `Ipv6Addr::is_unicast_global`
    - `Ipv6Addr::multicast_scope`
- Stabilize the following enum: `Ipv6MulticastScope`
- Document IP helpers stability guarantees (fixes #60239)
@little-dude little-dude force-pushed the little-dude:master branch from f98735e to 056bb4e Jan 12, 2020
Add variants for the currently reserved and un-assigned scopes. Since
variants may be added in the future as new RFCs get published, we also
make this enum #[non_exhaustive].

Ref: #66584 (comment)
@dtolnay

This comment has been minimized.

Copy link
Member

dtolnay commented Jan 14, 2020

Regarding is_unicast_link_local/_strict: do we know anyone with a use case for one or both of those methods? Could they briefly justify why they want each behavior instead of the other one? I agree it's not obvious that we should be stabilizing both, and the current names make it seem we are taking a stance that the non-strict one is "generally what people should want" -- is that true?

@dtolnay

This comment has been minimized.

Copy link
Member

dtolnay commented Jan 14, 2020

@rfcbot concern exhaustive enum

I don't know anything about this space but does someone feel confident confirming that the current set of variants in https://doc.rust-lang.org/nightly/std/net/enum.Ipv6MulticastScope.html is pretty much set in stone, or do we need to make this a non_exhaustive enum?

@little-dude

This comment has been minimized.

Copy link
Contributor Author

little-dude commented Jan 14, 2020

I don't know anything about this space but does someone feel confident confirming that the current set of variants in https://doc.rust-lang.org/nightly/std/net/enum.Ipv6MulticastScope.html is pretty much set in stone, or do we need to make this a non_exhaustive enum?

The set of variants is indeed not set in stone so in edd607f I did make the enum non_exhaustive, and added the "stability guarantees" disclaimer. For reference, the conversation about this happened here: #66584 (comment)

@dtolnay

This comment has been minimized.

Copy link
Member

dtolnay commented Jan 14, 2020

Thanks! I didn't catch that from the PR description or FCP proposal. Are there any other API changes in the stabilization PR?

@rfcbot resolve exhaustive enum

@little-dude

This comment has been minimized.

Copy link
Contributor Author

little-dude commented Jan 16, 2020

@dtolnay @KodrAus I'm going to write a summary for the is_unicast_link_local methods, but I'm a bit overwhelmed this week, so I'll most likely do so this week-end only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.