Skip to content

std: Stabilize/deprecate features for 1.4 - #28339

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4
Sep 13, 2015
Merged

std: Stabilize/deprecate features for 1.4#28339
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.

Stabilized APIs:

  • <Box<str>>::into_string
  • Arc::downgrade
  • Arc::get_mut
  • Arc::make_mut
  • Arc::try_unwrap
  • Box::from_raw
  • Box::into_raw
  • CStr::to_str
  • CStr::to_string_lossy
  • CString::from_raw
  • CString::into_raw
  • IntoRawFd::into_raw_fd
  • IntoRawFd
  • IntoRawHandle::into_raw_handle
  • IntoRawHandle
  • IntoRawSocket::into_raw_socket
  • IntoRawSocket
  • Rc::downgrade
  • Rc::get_mut
  • Rc::make_mut
  • Rc::try_unwrap
  • Result::expect
  • String::into_boxed_slice
  • TcpSocket::read_timeout
  • TcpSocket::set_read_timeout
  • TcpSocket::set_write_timeout
  • TcpSocket::write_timeout
  • UdpSocket::read_timeout
  • UdpSocket::set_read_timeout
  • UdpSocket::set_write_timeout
  • UdpSocket::write_timeout
  • Vec::append
  • Vec::split_off
  • VecDeque::append
  • VecDeque::retain
  • VecDeque::split_off
  • rc::Weak::upgrade
  • rc::Weak
  • slice::Iter::as_slice
  • slice::IterMut::into_slice
  • str::CharIndices::as_str
  • str::Chars::as_str
  • str::split_at_mut
  • str::split_at
  • sync::Weak::upgrade
  • sync::Weak
  • thread::park_timeout
  • thread::sleep

Deprecated APIs

  • BTreeMap::with_b
  • BTreeSet::with_b
  • Option::as_mut_slice
  • Option::as_slice
  • Result::as_mut_slice
  • Result::as_slice
  • f32::from_str_radix
  • f64::from_str_radix

Closes#27277
Closes#27718
Closes#27736
Closes#27764
Closes#27765
Closes#27766
Closes#27767
Closes#27768
Closes#27769
Closes#27771
Closes#27773
Closes#27775
Closes#27776
Closes#27785
Closes#27792
Closes#27795
Closes#27797

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @pcwalton

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc @rust-lang/libs

r? @aturon

@rust-highfiverust-highfive assigned aturon and unassigned pcwaltonSep 10, 2015
@alexcrichton
alexcrichtonforce-pushed the stabilize-1.4 branch 3 times, most recently from 1db2831 to 68e1b65CompareSeptember 10, 2015 21:04
Comment threadsrc/liballoc/rc.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a new issue number: this PR closes 27718.

@Gankra

Copy link
Copy Markdown
Contributor

I thought people didn't like append as a name?

Comment threadsrc/libstd/net/tcp.rs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we really sure this is ready to be stabilized? I'm not sure the questions brought up in #27773 have been sufficiently addressed.

If you're sure this is ready to be stabilized, for the comment, I would suggest something more like "The exact meaning of the timeout is platform-specific; reads may block for longer than the given duration. There is no portable way to detect if a read has timed out due to this timeout; the connection should be closed if a read fails with WouldBlock or TimedOut."

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the purpose of this function is to bind the SO_RCVTIMEO option, and it's what it's doing on all platforms. Whether or not this is exactly what you want for your application will depend on use cases, but this provides the appropriate Rust interface to getting/setting these options.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To elaborate on this a bit: we discussed #27773 extensively in the libs team meeting, and I've written up the results of that discussion in a new comment there.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closesrust-lang#27277Closesrust-lang#27718Closesrust-lang#27736Closesrust-lang#27764Closesrust-lang#27765Closesrust-lang#27766Closesrust-lang#27767Closesrust-lang#27768Closesrust-lang#27769Closesrust-lang#27771Closesrust-lang#27773Closesrust-lang#27775Closesrust-lang#27776Closesrust-lang#27785Closesrust-lang#27792Closesrust-lang#27795Closesrust-lang#27797
@aturon

Copy link
Copy Markdown
Contributor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

In particular, if we want to rename, we have to deal with the existing stable functionality. In general, we signed off on completing the collection reform RFC implementation by stabilizing consistent APIs across the collections where they're appropriate.

@aturon

Copy link
Copy Markdown
Contributor

OK, I've checked this over, and r=me -- but I want to give others a bit more time to comment before we send to bors.

@Gankra

Copy link
Copy Markdown
Contributor

shrug works for me

@Gankra

Copy link
Copy Markdown
Contributor

Wait

Or we could deprecate LinkedList

HMMM???

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@bors: r=aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

📌 Commit f0b1326 has been approved by aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

⌛ Testing commit f0b1326 with merge cedbd99...

bors added a commit that referenced this pull request Sep 13, 2015
The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closes#27277Closes#27718Closes#27736Closes#27764Closes#27765Closes#27766Closes#27767Closes#27768Closes#27769Closes#27771Closes#27773Closes#27775Closes#27776Closes#27785Closes#27792Closes#27795Closes#27797
@bors
bors merged commit f0b1326 into rust-lang:masterSep 13, 2015
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
std: Stabilize/deprecate features for 1.4 by alexcrichton · Pull Request #28339 · rust-lang/rust · GitHub
Skip to content

std: Stabilize/deprecate features for 1.4 - #28339

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4
Sep 13, 2015
Merged

std: Stabilize/deprecate features for 1.4#28339
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.

Stabilized APIs:

  • <Box<str>>::into_string
  • Arc::downgrade
  • Arc::get_mut
  • Arc::make_mut
  • Arc::try_unwrap
  • Box::from_raw
  • Box::into_raw
  • CStr::to_str
  • CStr::to_string_lossy
  • CString::from_raw
  • CString::into_raw
  • IntoRawFd::into_raw_fd
  • IntoRawFd
  • IntoRawHandle::into_raw_handle
  • IntoRawHandle
  • IntoRawSocket::into_raw_socket
  • IntoRawSocket
  • Rc::downgrade
  • Rc::get_mut
  • Rc::make_mut
  • Rc::try_unwrap
  • Result::expect
  • String::into_boxed_slice
  • TcpSocket::read_timeout
  • TcpSocket::set_read_timeout
  • TcpSocket::set_write_timeout
  • TcpSocket::write_timeout
  • UdpSocket::read_timeout
  • UdpSocket::set_read_timeout
  • UdpSocket::set_write_timeout
  • UdpSocket::write_timeout
  • Vec::append
  • Vec::split_off
  • VecDeque::append
  • VecDeque::retain
  • VecDeque::split_off
  • rc::Weak::upgrade
  • rc::Weak
  • slice::Iter::as_slice
  • slice::IterMut::into_slice
  • str::CharIndices::as_str
  • str::Chars::as_str
  • str::split_at_mut
  • str::split_at
  • sync::Weak::upgrade
  • sync::Weak
  • thread::park_timeout
  • thread::sleep

Deprecated APIs

  • BTreeMap::with_b
  • BTreeSet::with_b
  • Option::as_mut_slice
  • Option::as_slice
  • Result::as_mut_slice
  • Result::as_slice
  • f32::from_str_radix
  • f64::from_str_radix

Closes#27277
Closes#27718
Closes#27736
Closes#27764
Closes#27765
Closes#27766
Closes#27767
Closes#27768
Closes#27769
Closes#27771
Closes#27773
Closes#27775
Closes#27776
Closes#27785
Closes#27792
Closes#27795
Closes#27797

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @pcwalton

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc @rust-lang/libs

r? @aturon

@rust-highfiverust-highfive assigned aturon and unassigned pcwaltonSep 10, 2015
@alexcrichton
alexcrichtonforce-pushed the stabilize-1.4 branch 3 times, most recently from 1db2831 to 68e1b65CompareSeptember 10, 2015 21:04
Comment threadsrc/liballoc/rc.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a new issue number: this PR closes 27718.

@Gankra

Copy link
Copy Markdown
Contributor

I thought people didn't like append as a name?

Comment threadsrc/libstd/net/tcp.rs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we really sure this is ready to be stabilized? I'm not sure the questions brought up in #27773 have been sufficiently addressed.

If you're sure this is ready to be stabilized, for the comment, I would suggest something more like "The exact meaning of the timeout is platform-specific; reads may block for longer than the given duration. There is no portable way to detect if a read has timed out due to this timeout; the connection should be closed if a read fails with WouldBlock or TimedOut."

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the purpose of this function is to bind the SO_RCVTIMEO option, and it's what it's doing on all platforms. Whether or not this is exactly what you want for your application will depend on use cases, but this provides the appropriate Rust interface to getting/setting these options.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To elaborate on this a bit: we discussed #27773 extensively in the libs team meeting, and I've written up the results of that discussion in a new comment there.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closesrust-lang#27277Closesrust-lang#27718Closesrust-lang#27736Closesrust-lang#27764Closesrust-lang#27765Closesrust-lang#27766Closesrust-lang#27767Closesrust-lang#27768Closesrust-lang#27769Closesrust-lang#27771Closesrust-lang#27773Closesrust-lang#27775Closesrust-lang#27776Closesrust-lang#27785Closesrust-lang#27792Closesrust-lang#27795Closesrust-lang#27797
@aturon

Copy link
Copy Markdown
Contributor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

In particular, if we want to rename, we have to deal with the existing stable functionality. In general, we signed off on completing the collection reform RFC implementation by stabilizing consistent APIs across the collections where they're appropriate.

@aturon

Copy link
Copy Markdown
Contributor

OK, I've checked this over, and r=me -- but I want to give others a bit more time to comment before we send to bors.

@Gankra

Copy link
Copy Markdown
Contributor

shrug works for me

@Gankra

Copy link
Copy Markdown
Contributor

Wait

Or we could deprecate LinkedList

HMMM???

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@bors: r=aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

📌 Commit f0b1326 has been approved by aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

⌛ Testing commit f0b1326 with merge cedbd99...

bors added a commit that referenced this pull request Sep 13, 2015
The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closes#27277Closes#27718Closes#27736Closes#27764Closes#27765Closes#27766Closes#27767Closes#27768Closes#27769Closes#27771Closes#27773Closes#27775Closes#27776Closes#27785Closes#27792Closes#27795Closes#27797
@bors
bors merged commit f0b1326 into rust-lang:masterSep 13, 2015
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' std: Stabilize/deprecate features for 1.4 by alexcrichton · Pull Request #28339 · rust-lang/rust · GitHub
Skip to content

std: Stabilize/deprecate features for 1.4 - #28339

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4
Sep 13, 2015
Merged

std: Stabilize/deprecate features for 1.4#28339
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.

Stabilized APIs:

  • <Box<str>>::into_string
  • Arc::downgrade
  • Arc::get_mut
  • Arc::make_mut
  • Arc::try_unwrap
  • Box::from_raw
  • Box::into_raw
  • CStr::to_str
  • CStr::to_string_lossy
  • CString::from_raw
  • CString::into_raw
  • IntoRawFd::into_raw_fd
  • IntoRawFd
  • IntoRawHandle::into_raw_handle
  • IntoRawHandle
  • IntoRawSocket::into_raw_socket
  • IntoRawSocket
  • Rc::downgrade
  • Rc::get_mut
  • Rc::make_mut
  • Rc::try_unwrap
  • Result::expect
  • String::into_boxed_slice
  • TcpSocket::read_timeout
  • TcpSocket::set_read_timeout
  • TcpSocket::set_write_timeout
  • TcpSocket::write_timeout
  • UdpSocket::read_timeout
  • UdpSocket::set_read_timeout
  • UdpSocket::set_write_timeout
  • UdpSocket::write_timeout
  • Vec::append
  • Vec::split_off
  • VecDeque::append
  • VecDeque::retain
  • VecDeque::split_off
  • rc::Weak::upgrade
  • rc::Weak
  • slice::Iter::as_slice
  • slice::IterMut::into_slice
  • str::CharIndices::as_str
  • str::Chars::as_str
  • str::split_at_mut
  • str::split_at
  • sync::Weak::upgrade
  • sync::Weak
  • thread::park_timeout
  • thread::sleep

Deprecated APIs

  • BTreeMap::with_b
  • BTreeSet::with_b
  • Option::as_mut_slice
  • Option::as_slice
  • Result::as_mut_slice
  • Result::as_slice
  • f32::from_str_radix
  • f64::from_str_radix

Closes#27277
Closes#27718
Closes#27736
Closes#27764
Closes#27765
Closes#27766
Closes#27767
Closes#27768
Closes#27769
Closes#27771
Closes#27773
Closes#27775
Closes#27776
Closes#27785
Closes#27792
Closes#27795
Closes#27797

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @pcwalton

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc @rust-lang/libs

r? @aturon

@rust-highfiverust-highfive assigned aturon and unassigned pcwaltonSep 10, 2015
@alexcrichton
alexcrichtonforce-pushed the stabilize-1.4 branch 3 times, most recently from 1db2831 to 68e1b65CompareSeptember 10, 2015 21:04
Comment threadsrc/liballoc/rc.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a new issue number: this PR closes 27718.

@Gankra

Copy link
Copy Markdown
Contributor

I thought people didn't like append as a name?

Comment threadsrc/libstd/net/tcp.rs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we really sure this is ready to be stabilized? I'm not sure the questions brought up in #27773 have been sufficiently addressed.

If you're sure this is ready to be stabilized, for the comment, I would suggest something more like "The exact meaning of the timeout is platform-specific; reads may block for longer than the given duration. There is no portable way to detect if a read has timed out due to this timeout; the connection should be closed if a read fails with WouldBlock or TimedOut."

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the purpose of this function is to bind the SO_RCVTIMEO option, and it's what it's doing on all platforms. Whether or not this is exactly what you want for your application will depend on use cases, but this provides the appropriate Rust interface to getting/setting these options.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To elaborate on this a bit: we discussed #27773 extensively in the libs team meeting, and I've written up the results of that discussion in a new comment there.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closesrust-lang#27277Closesrust-lang#27718Closesrust-lang#27736Closesrust-lang#27764Closesrust-lang#27765Closesrust-lang#27766Closesrust-lang#27767Closesrust-lang#27768Closesrust-lang#27769Closesrust-lang#27771Closesrust-lang#27773Closesrust-lang#27775Closesrust-lang#27776Closesrust-lang#27785Closesrust-lang#27792Closesrust-lang#27795Closesrust-lang#27797
@aturon

Copy link
Copy Markdown
Contributor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

In particular, if we want to rename, we have to deal with the existing stable functionality. In general, we signed off on completing the collection reform RFC implementation by stabilizing consistent APIs across the collections where they're appropriate.

@aturon

Copy link
Copy Markdown
Contributor

OK, I've checked this over, and r=me -- but I want to give others a bit more time to comment before we send to bors.

@Gankra

Copy link
Copy Markdown
Contributor

shrug works for me

@Gankra

Copy link
Copy Markdown
Contributor

Wait

Or we could deprecate LinkedList

HMMM???

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@bors: r=aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

📌 Commit f0b1326 has been approved by aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

⌛ Testing commit f0b1326 with merge cedbd99...

bors added a commit that referenced this pull request Sep 13, 2015
The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closes#27277Closes#27718Closes#27736Closes#27764Closes#27765Closes#27766Closes#27767Closes#27768Closes#27769Closes#27771Closes#27773Closes#27775Closes#27776Closes#27785Closes#27792Closes#27795Closes#27797
@bors
bors merged commit f0b1326 into rust-lang:masterSep 13, 2015
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' std: Stabilize/deprecate features for 1.4 by alexcrichton · Pull Request #28339 · rust-lang/rust · GitHub
Skip to content

std: Stabilize/deprecate features for 1.4 - #28339

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4
Sep 13, 2015
Merged

std: Stabilize/deprecate features for 1.4#28339
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.

Stabilized APIs:

  • <Box<str>>::into_string
  • Arc::downgrade
  • Arc::get_mut
  • Arc::make_mut
  • Arc::try_unwrap
  • Box::from_raw
  • Box::into_raw
  • CStr::to_str
  • CStr::to_string_lossy
  • CString::from_raw
  • CString::into_raw
  • IntoRawFd::into_raw_fd
  • IntoRawFd
  • IntoRawHandle::into_raw_handle
  • IntoRawHandle
  • IntoRawSocket::into_raw_socket
  • IntoRawSocket
  • Rc::downgrade
  • Rc::get_mut
  • Rc::make_mut
  • Rc::try_unwrap
  • Result::expect
  • String::into_boxed_slice
  • TcpSocket::read_timeout
  • TcpSocket::set_read_timeout
  • TcpSocket::set_write_timeout
  • TcpSocket::write_timeout
  • UdpSocket::read_timeout
  • UdpSocket::set_read_timeout
  • UdpSocket::set_write_timeout
  • UdpSocket::write_timeout
  • Vec::append
  • Vec::split_off
  • VecDeque::append
  • VecDeque::retain
  • VecDeque::split_off
  • rc::Weak::upgrade
  • rc::Weak
  • slice::Iter::as_slice
  • slice::IterMut::into_slice
  • str::CharIndices::as_str
  • str::Chars::as_str
  • str::split_at_mut
  • str::split_at
  • sync::Weak::upgrade
  • sync::Weak
  • thread::park_timeout
  • thread::sleep

Deprecated APIs

  • BTreeMap::with_b
  • BTreeSet::with_b
  • Option::as_mut_slice
  • Option::as_slice
  • Result::as_mut_slice
  • Result::as_slice
  • f32::from_str_radix
  • f64::from_str_radix

Closes#27277
Closes#27718
Closes#27736
Closes#27764
Closes#27765
Closes#27766
Closes#27767
Closes#27768
Closes#27769
Closes#27771
Closes#27773
Closes#27775
Closes#27776
Closes#27785
Closes#27792
Closes#27795
Closes#27797

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @pcwalton

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc @rust-lang/libs

r? @aturon

@rust-highfiverust-highfive assigned aturon and unassigned pcwaltonSep 10, 2015
@alexcrichton
alexcrichtonforce-pushed the stabilize-1.4 branch 3 times, most recently from 1db2831 to 68e1b65CompareSeptember 10, 2015 21:04
Comment threadsrc/liballoc/rc.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a new issue number: this PR closes 27718.

@Gankra

Copy link
Copy Markdown
Contributor

I thought people didn't like append as a name?

Comment threadsrc/libstd/net/tcp.rs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we really sure this is ready to be stabilized? I'm not sure the questions brought up in #27773 have been sufficiently addressed.

If you're sure this is ready to be stabilized, for the comment, I would suggest something more like "The exact meaning of the timeout is platform-specific; reads may block for longer than the given duration. There is no portable way to detect if a read has timed out due to this timeout; the connection should be closed if a read fails with WouldBlock or TimedOut."

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the purpose of this function is to bind the SO_RCVTIMEO option, and it's what it's doing on all platforms. Whether or not this is exactly what you want for your application will depend on use cases, but this provides the appropriate Rust interface to getting/setting these options.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To elaborate on this a bit: we discussed #27773 extensively in the libs team meeting, and I've written up the results of that discussion in a new comment there.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closesrust-lang#27277Closesrust-lang#27718Closesrust-lang#27736Closesrust-lang#27764Closesrust-lang#27765Closesrust-lang#27766Closesrust-lang#27767Closesrust-lang#27768Closesrust-lang#27769Closesrust-lang#27771Closesrust-lang#27773Closesrust-lang#27775Closesrust-lang#27776Closesrust-lang#27785Closesrust-lang#27792Closesrust-lang#27795Closesrust-lang#27797
@aturon

Copy link
Copy Markdown
Contributor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

In particular, if we want to rename, we have to deal with the existing stable functionality. In general, we signed off on completing the collection reform RFC implementation by stabilizing consistent APIs across the collections where they're appropriate.

@aturon

Copy link
Copy Markdown
Contributor

OK, I've checked this over, and r=me -- but I want to give others a bit more time to comment before we send to bors.

@Gankra

Copy link
Copy Markdown
Contributor

shrug works for me

@Gankra

Copy link
Copy Markdown
Contributor

Wait

Or we could deprecate LinkedList

HMMM???

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@bors: r=aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

📌 Commit f0b1326 has been approved by aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

⌛ Testing commit f0b1326 with merge cedbd99...

bors added a commit that referenced this pull request Sep 13, 2015
The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closes#27277Closes#27718Closes#27736Closes#27764Closes#27765Closes#27766Closes#27767Closes#27768Closes#27769Closes#27771Closes#27773Closes#27775Closes#27776Closes#27785Closes#27792Closes#27795Closes#27797
@bors
bors merged commit f0b1326 into rust-lang:masterSep 13, 2015
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' std: Stabilize/deprecate features for 1.4 by alexcrichton · Pull Request #28339 · rust-lang/rust · GitHub
Skip to content

std: Stabilize/deprecate features for 1.4 - #28339

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4
Sep 13, 2015
Merged

std: Stabilize/deprecate features for 1.4#28339
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.

Stabilized APIs:

  • <Box<str>>::into_string
  • Arc::downgrade
  • Arc::get_mut
  • Arc::make_mut
  • Arc::try_unwrap
  • Box::from_raw
  • Box::into_raw
  • CStr::to_str
  • CStr::to_string_lossy
  • CString::from_raw
  • CString::into_raw
  • IntoRawFd::into_raw_fd
  • IntoRawFd
  • IntoRawHandle::into_raw_handle
  • IntoRawHandle
  • IntoRawSocket::into_raw_socket
  • IntoRawSocket
  • Rc::downgrade
  • Rc::get_mut
  • Rc::make_mut
  • Rc::try_unwrap
  • Result::expect
  • String::into_boxed_slice
  • TcpSocket::read_timeout
  • TcpSocket::set_read_timeout
  • TcpSocket::set_write_timeout
  • TcpSocket::write_timeout
  • UdpSocket::read_timeout
  • UdpSocket::set_read_timeout
  • UdpSocket::set_write_timeout
  • UdpSocket::write_timeout
  • Vec::append
  • Vec::split_off
  • VecDeque::append
  • VecDeque::retain
  • VecDeque::split_off
  • rc::Weak::upgrade
  • rc::Weak
  • slice::Iter::as_slice
  • slice::IterMut::into_slice
  • str::CharIndices::as_str
  • str::Chars::as_str
  • str::split_at_mut
  • str::split_at
  • sync::Weak::upgrade
  • sync::Weak
  • thread::park_timeout
  • thread::sleep

Deprecated APIs

  • BTreeMap::with_b
  • BTreeSet::with_b
  • Option::as_mut_slice
  • Option::as_slice
  • Result::as_mut_slice
  • Result::as_slice
  • f32::from_str_radix
  • f64::from_str_radix

Closes#27277
Closes#27718
Closes#27736
Closes#27764
Closes#27765
Closes#27766
Closes#27767
Closes#27768
Closes#27769
Closes#27771
Closes#27773
Closes#27775
Closes#27776
Closes#27785
Closes#27792
Closes#27795
Closes#27797

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @pcwalton

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc @rust-lang/libs

r? @aturon

@rust-highfiverust-highfive assigned aturon and unassigned pcwaltonSep 10, 2015
@alexcrichton
alexcrichtonforce-pushed the stabilize-1.4 branch 3 times, most recently from 1db2831 to 68e1b65CompareSeptember 10, 2015 21:04
Comment threadsrc/liballoc/rc.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a new issue number: this PR closes 27718.

@Gankra

Copy link
Copy Markdown
Contributor

I thought people didn't like append as a name?

Comment threadsrc/libstd/net/tcp.rs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we really sure this is ready to be stabilized? I'm not sure the questions brought up in #27773 have been sufficiently addressed.

If you're sure this is ready to be stabilized, for the comment, I would suggest something more like "The exact meaning of the timeout is platform-specific; reads may block for longer than the given duration. There is no portable way to detect if a read has timed out due to this timeout; the connection should be closed if a read fails with WouldBlock or TimedOut."

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the purpose of this function is to bind the SO_RCVTIMEO option, and it's what it's doing on all platforms. Whether or not this is exactly what you want for your application will depend on use cases, but this provides the appropriate Rust interface to getting/setting these options.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To elaborate on this a bit: we discussed #27773 extensively in the libs team meeting, and I've written up the results of that discussion in a new comment there.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closesrust-lang#27277Closesrust-lang#27718Closesrust-lang#27736Closesrust-lang#27764Closesrust-lang#27765Closesrust-lang#27766Closesrust-lang#27767Closesrust-lang#27768Closesrust-lang#27769Closesrust-lang#27771Closesrust-lang#27773Closesrust-lang#27775Closesrust-lang#27776Closesrust-lang#27785Closesrust-lang#27792Closesrust-lang#27795Closesrust-lang#27797
@aturon

Copy link
Copy Markdown
Contributor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

In particular, if we want to rename, we have to deal with the existing stable functionality. In general, we signed off on completing the collection reform RFC implementation by stabilizing consistent APIs across the collections where they're appropriate.

@aturon

Copy link
Copy Markdown
Contributor

OK, I've checked this over, and r=me -- but I want to give others a bit more time to comment before we send to bors.

@Gankra

Copy link
Copy Markdown
Contributor

shrug works for me

@Gankra

Copy link
Copy Markdown
Contributor

Wait

Or we could deprecate LinkedList

HMMM???

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@bors: r=aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

📌 Commit f0b1326 has been approved by aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

⌛ Testing commit f0b1326 with merge cedbd99...

bors added a commit that referenced this pull request Sep 13, 2015
The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closes#27277Closes#27718Closes#27736Closes#27764Closes#27765Closes#27766Closes#27767Closes#27768Closes#27769Closes#27771Closes#27773Closes#27775Closes#27776Closes#27785Closes#27792Closes#27795Closes#27797
@bors
bors merged commit f0b1326 into rust-lang:masterSep 13, 2015
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' std: Stabilize/deprecate features for 1.4 by alexcrichton · Pull Request #28339 · rust-lang/rust · GitHub
Skip to content

std: Stabilize/deprecate features for 1.4 - #28339

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4
Sep 13, 2015
Merged

std: Stabilize/deprecate features for 1.4#28339
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.

Stabilized APIs:

  • <Box<str>>::into_string
  • Arc::downgrade
  • Arc::get_mut
  • Arc::make_mut
  • Arc::try_unwrap
  • Box::from_raw
  • Box::into_raw
  • CStr::to_str
  • CStr::to_string_lossy
  • CString::from_raw
  • CString::into_raw
  • IntoRawFd::into_raw_fd
  • IntoRawFd
  • IntoRawHandle::into_raw_handle
  • IntoRawHandle
  • IntoRawSocket::into_raw_socket
  • IntoRawSocket
  • Rc::downgrade
  • Rc::get_mut
  • Rc::make_mut
  • Rc::try_unwrap
  • Result::expect
  • String::into_boxed_slice
  • TcpSocket::read_timeout
  • TcpSocket::set_read_timeout
  • TcpSocket::set_write_timeout
  • TcpSocket::write_timeout
  • UdpSocket::read_timeout
  • UdpSocket::set_read_timeout
  • UdpSocket::set_write_timeout
  • UdpSocket::write_timeout
  • Vec::append
  • Vec::split_off
  • VecDeque::append
  • VecDeque::retain
  • VecDeque::split_off
  • rc::Weak::upgrade
  • rc::Weak
  • slice::Iter::as_slice
  • slice::IterMut::into_slice
  • str::CharIndices::as_str
  • str::Chars::as_str
  • str::split_at_mut
  • str::split_at
  • sync::Weak::upgrade
  • sync::Weak
  • thread::park_timeout
  • thread::sleep

Deprecated APIs

  • BTreeMap::with_b
  • BTreeSet::with_b
  • Option::as_mut_slice
  • Option::as_slice
  • Result::as_mut_slice
  • Result::as_slice
  • f32::from_str_radix
  • f64::from_str_radix

Closes#27277
Closes#27718
Closes#27736
Closes#27764
Closes#27765
Closes#27766
Closes#27767
Closes#27768
Closes#27769
Closes#27771
Closes#27773
Closes#27775
Closes#27776
Closes#27785
Closes#27792
Closes#27795
Closes#27797

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @pcwalton

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc @rust-lang/libs

r? @aturon

@rust-highfiverust-highfive assigned aturon and unassigned pcwaltonSep 10, 2015
@alexcrichton
alexcrichtonforce-pushed the stabilize-1.4 branch 3 times, most recently from 1db2831 to 68e1b65CompareSeptember 10, 2015 21:04
Comment threadsrc/liballoc/rc.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a new issue number: this PR closes 27718.

@Gankra

Copy link
Copy Markdown
Contributor

I thought people didn't like append as a name?

Comment threadsrc/libstd/net/tcp.rs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we really sure this is ready to be stabilized? I'm not sure the questions brought up in #27773 have been sufficiently addressed.

If you're sure this is ready to be stabilized, for the comment, I would suggest something more like "The exact meaning of the timeout is platform-specific; reads may block for longer than the given duration. There is no portable way to detect if a read has timed out due to this timeout; the connection should be closed if a read fails with WouldBlock or TimedOut."

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the purpose of this function is to bind the SO_RCVTIMEO option, and it's what it's doing on all platforms. Whether or not this is exactly what you want for your application will depend on use cases, but this provides the appropriate Rust interface to getting/setting these options.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To elaborate on this a bit: we discussed #27773 extensively in the libs team meeting, and I've written up the results of that discussion in a new comment there.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closesrust-lang#27277Closesrust-lang#27718Closesrust-lang#27736Closesrust-lang#27764Closesrust-lang#27765Closesrust-lang#27766Closesrust-lang#27767Closesrust-lang#27768Closesrust-lang#27769Closesrust-lang#27771Closesrust-lang#27773Closesrust-lang#27775Closesrust-lang#27776Closesrust-lang#27785Closesrust-lang#27792Closesrust-lang#27795Closesrust-lang#27797
@aturon

Copy link
Copy Markdown
Contributor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

In particular, if we want to rename, we have to deal with the existing stable functionality. In general, we signed off on completing the collection reform RFC implementation by stabilizing consistent APIs across the collections where they're appropriate.

@aturon

Copy link
Copy Markdown
Contributor

OK, I've checked this over, and r=me -- but I want to give others a bit more time to comment before we send to bors.

@Gankra

Copy link
Copy Markdown
Contributor

shrug works for me

@Gankra

Copy link
Copy Markdown
Contributor

Wait

Or we could deprecate LinkedList

HMMM???

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@bors: r=aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

📌 Commit f0b1326 has been approved by aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

⌛ Testing commit f0b1326 with merge cedbd99...

bors added a commit that referenced this pull request Sep 13, 2015
The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closes#27277Closes#27718Closes#27736Closes#27764Closes#27765Closes#27766Closes#27767Closes#27768Closes#27769Closes#27771Closes#27773Closes#27775Closes#27776Closes#27785Closes#27792Closes#27795Closes#27797
@bors
bors merged commit f0b1326 into rust-lang:masterSep 13, 2015
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); std: Stabilize/deprecate features for 1.4 by alexcrichton · Pull Request #28339 · rust-lang/rust · GitHub
Skip to content

std: Stabilize/deprecate features for 1.4 - #28339

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4
Sep 13, 2015
Merged

std: Stabilize/deprecate features for 1.4#28339
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:stabilize-1.4

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.

Stabilized APIs:

  • <Box<str>>::into_string
  • Arc::downgrade
  • Arc::get_mut
  • Arc::make_mut
  • Arc::try_unwrap
  • Box::from_raw
  • Box::into_raw
  • CStr::to_str
  • CStr::to_string_lossy
  • CString::from_raw
  • CString::into_raw
  • IntoRawFd::into_raw_fd
  • IntoRawFd
  • IntoRawHandle::into_raw_handle
  • IntoRawHandle
  • IntoRawSocket::into_raw_socket
  • IntoRawSocket
  • Rc::downgrade
  • Rc::get_mut
  • Rc::make_mut
  • Rc::try_unwrap
  • Result::expect
  • String::into_boxed_slice
  • TcpSocket::read_timeout
  • TcpSocket::set_read_timeout
  • TcpSocket::set_write_timeout
  • TcpSocket::write_timeout
  • UdpSocket::read_timeout
  • UdpSocket::set_read_timeout
  • UdpSocket::set_write_timeout
  • UdpSocket::write_timeout
  • Vec::append
  • Vec::split_off
  • VecDeque::append
  • VecDeque::retain
  • VecDeque::split_off
  • rc::Weak::upgrade
  • rc::Weak
  • slice::Iter::as_slice
  • slice::IterMut::into_slice
  • str::CharIndices::as_str
  • str::Chars::as_str
  • str::split_at_mut
  • str::split_at
  • sync::Weak::upgrade
  • sync::Weak
  • thread::park_timeout
  • thread::sleep

Deprecated APIs

  • BTreeMap::with_b
  • BTreeSet::with_b
  • Option::as_mut_slice
  • Option::as_slice
  • Result::as_mut_slice
  • Result::as_slice
  • f32::from_str_radix
  • f64::from_str_radix

Closes#27277
Closes#27718
Closes#27736
Closes#27764
Closes#27765
Closes#27766
Closes#27767
Closes#27768
Closes#27769
Closes#27771
Closes#27773
Closes#27775
Closes#27776
Closes#27785
Closes#27792
Closes#27795
Closes#27797

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @pcwalton

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc @rust-lang/libs

r? @aturon

@rust-highfiverust-highfive assigned aturon and unassigned pcwaltonSep 10, 2015
@alexcrichton
alexcrichtonforce-pushed the stabilize-1.4 branch 3 times, most recently from 1db2831 to 68e1b65CompareSeptember 10, 2015 21:04
Comment threadsrc/liballoc/rc.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a new issue number: this PR closes 27718.

@Gankra

Copy link
Copy Markdown
Contributor

I thought people didn't like append as a name?

Comment threadsrc/libstd/net/tcp.rs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we really sure this is ready to be stabilized? I'm not sure the questions brought up in #27773 have been sufficiently addressed.

If you're sure this is ready to be stabilized, for the comment, I would suggest something more like "The exact meaning of the timeout is platform-specific; reads may block for longer than the given duration. There is no portable way to detect if a read has timed out due to this timeout; the connection should be closed if a read fails with WouldBlock or TimedOut."

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the purpose of this function is to bind the SO_RCVTIMEO option, and it's what it's doing on all platforms. Whether or not this is exactly what you want for your application will depend on use cases, but this provides the appropriate Rust interface to getting/setting these options.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To elaborate on this a bit: we discussed #27773 extensively in the libs team meeting, and I've written up the results of that discussion in a new comment there.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closesrust-lang#27277Closesrust-lang#27718Closesrust-lang#27736Closesrust-lang#27764Closesrust-lang#27765Closesrust-lang#27766Closesrust-lang#27767Closesrust-lang#27768Closesrust-lang#27769Closesrust-lang#27771Closesrust-lang#27773Closesrust-lang#27775Closesrust-lang#27776Closesrust-lang#27785Closesrust-lang#27792Closesrust-lang#27795Closesrust-lang#27797
@aturon

Copy link
Copy Markdown
Contributor

@gankro

I thought people didn't like append as a name?

We discussed this in the libs team meaning, but the ship has long sailed on this. These functions have gone through RFCs multiple times almost, and the functionality is already stable on LinkedList.

In particular, if we want to rename, we have to deal with the existing stable functionality. In general, we signed off on completing the collection reform RFC implementation by stabilizing consistent APIs across the collections where they're appropriate.

@aturon

Copy link
Copy Markdown
Contributor

OK, I've checked this over, and r=me -- but I want to give others a bit more time to comment before we send to bors.

@Gankra

Copy link
Copy Markdown
Contributor

shrug works for me

@Gankra

Copy link
Copy Markdown
Contributor

Wait

Or we could deprecate LinkedList

HMMM???

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@bors: r=aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

📌 Commit f0b1326 has been approved by aturon

@bors

bors commented Sep 13, 2015

Copy link
Copy Markdown
Collaborator

⌛ Testing commit f0b1326 with merge cedbd99...

bors added a commit that referenced this pull request Sep 13, 2015
The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.
Stabilized APIs:
* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`
Deprecated APIs
* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`
Closes#27277Closes#27718Closes#27736Closes#27764Closes#27765Closes#27766Closes#27767Closes#27768Closes#27769Closes#27771Closes#27773Closes#27775Closes#27776Closes#27785Closes#27792Closes#27795Closes#27797
@bors
bors merged commit f0b1326 into rust-lang:masterSep 13, 2015
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment