diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-10-19 07:10:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-19 07:10:09 +0200 |
| commit | ed4c2c2a5f869dbb47d3079437f2f1e1a0aab027 (patch) | |
| tree | 7df559a95d863fd0b40bb7f2c0aa9f6a2c835840 /src/libsyntax_pos | |
| parent | fab74044dde091682869039c2bbbb764d4f70123 (diff) | |
| parent | d343ee839b6fe26c992d0609281443776839039c (diff) | |
| download | rust-ed4c2c2a5f869dbb47d3079437f2f1e1a0aab027.tar.gz rust-ed4c2c2a5f869dbb47d3079437f2f1e1a0aab027.zip | |
Rollup merge of #65545 - nnethercote:more-symbol-cleanups, r=petrochenkov
More symbol cleanups Some minor improvements, mostly aimed at reducing unimportant differences between `Symbol` and `InternedString`. Helps a little with #60869. r? @petrochenkov
Diffstat (limited to 'src/libsyntax_pos')
| -rw-r--r-- | src/libsyntax_pos/symbol.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/libsyntax_pos/symbol.rs b/src/libsyntax_pos/symbol.rs index 8845b66a7ce..fa9567fb62c 100644 --- a/src/libsyntax_pos/symbol.rs +++ b/src/libsyntax_pos/symbol.rs @@ -934,19 +934,19 @@ impl Symbol { impl fmt::Debug for Symbol { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - fmt::Display::fmt(self, f) + self.with(|str| fmt::Debug::fmt(&str, f)) } } impl fmt::Display for Symbol { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - fmt::Display::fmt(&self.as_str(), f) + self.with(|str| fmt::Display::fmt(&str, f)) } } impl Encodable for Symbol { fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> { - s.emit_str(&self.as_str()) + self.with(|string| s.emit_str(string)) } } @@ -1106,8 +1106,8 @@ fn with_interner<T, F: FnOnce(&mut Interner) -> T>(f: F) -> T { } /// An alternative to `Symbol` and `InternedString`, useful when the chars -/// within the symbol need to be accessed. It is best used for temporary -/// values. +/// within the symbol need to be accessed. It deliberately has limited +/// functionality and should only be used for temporary values. /// /// Because the interner outlives any thread which uses this type, we can /// safely treat `string` which points to interner data, as an immortal string, @@ -1116,7 +1116,7 @@ fn with_interner<T, F: FnOnce(&mut Interner) -> T>(f: F) -> T { // FIXME: ensure that the interner outlives any thread which uses // `LocalInternedString`, by creating a new thread right after constructing the // interner. -#[derive(Clone, Copy, Eq, PartialOrd, Ord)] +#[derive(Eq, PartialOrd, Ord)] pub struct LocalInternedString { string: &'static str, } |
