mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-28 09:44:08 +00:00
Fixed typos in code comments
This commit is contained in:
parent
939ca83b34
commit
21f8239ac8
@ -1,6 +1,6 @@
|
||||
//! Utility module for converting between hir_def ids and code_model wrappers.
|
||||
//!
|
||||
//! It's unclear if we need this long-term, but it's definitelly useful while we
|
||||
//! It's unclear if we need this long-term, but it's definitely useful while we
|
||||
//! are splitting the hir.
|
||||
|
||||
use hir_def::{
|
||||
|
@ -581,7 +581,7 @@ impl ExprCollector<'_> {
|
||||
match res.value {
|
||||
Some((mark, expansion)) => {
|
||||
// FIXME: Statements are too complicated to recover from error for now.
|
||||
// It is because we don't have any hygenine for local variable expansion right now.
|
||||
// It is because we don't have any hygiene for local variable expansion right now.
|
||||
if T::can_cast(syntax::SyntaxKind::MACRO_STMTS) && res.err.is_some() {
|
||||
self.expander.exit(self.db, mark);
|
||||
collector(self, None);
|
||||
@ -959,7 +959,7 @@ impl ExprCollector<'_> {
|
||||
|
||||
fn collect_tuple_pat(&mut self, args: AstChildren<ast::Pat>) -> (Vec<PatId>, Option<usize>) {
|
||||
// Find the location of the `..`, if there is one. Note that we do not
|
||||
// consider the possiblity of there being multiple `..` here.
|
||||
// consider the possibility of there being multiple `..` here.
|
||||
let ellipsis = args.clone().position(|p| matches!(p, ast::Pat::RestPat(_)));
|
||||
// We want to skip the `..` pattern here, since we account for it above.
|
||||
let args = args
|
||||
|
@ -1,6 +1,6 @@
|
||||
//! This module describes hir-level representation of expressions.
|
||||
//!
|
||||
//! This representaion is:
|
||||
//! This representation is:
|
||||
//!
|
||||
//! 1. Identity-based. Each expression has an `id`, so we can distinguish
|
||||
//! between different `1` in `1 + 1`.
|
||||
|
@ -267,7 +267,7 @@ impl DefCollector<'_> {
|
||||
|
||||
// Resolve all indeterminate resolved imports again
|
||||
// As some of the macros will expand newly import shadowing partial resolved imports
|
||||
// FIXME: We maybe could skip this, if we handle the Indetermine imports in `resolve_imports`
|
||||
// FIXME: We maybe could skip this, if we handle the indeterminate imports in `resolve_imports`
|
||||
// correctly
|
||||
let partial_resolved = self.resolved_imports.iter().filter_map(|directive| {
|
||||
if let PartialResolvedImport::Indeterminate(_) = directive.status {
|
||||
@ -402,7 +402,7 @@ impl DefCollector<'_> {
|
||||
|
||||
/// Define a proc macro
|
||||
///
|
||||
/// A proc macro is similar to normal macro scope, but it would not visiable in legacy textual scoped.
|
||||
/// A proc macro is similar to normal macro scope, but it would not visible in legacy textual scoped.
|
||||
/// And unconditionally exported.
|
||||
fn define_proc_macro(&mut self, name: Name, macro_: MacroDefId) {
|
||||
self.update(
|
||||
@ -592,7 +592,7 @@ impl DefCollector<'_> {
|
||||
// XXX: urgh, so this works by accident! Here, we look at
|
||||
// the enum data, and, in theory, this might require us to
|
||||
// look back at the crate_def_map, creating a cycle. For
|
||||
// example, `enum E { crate::some_macro!(); }`. Luckely, the
|
||||
// example, `enum E { crate::some_macro!(); }`. Luckily, the
|
||||
// only kind of macro that is allowed inside enum is a
|
||||
// `cfg_macro`, and we don't need to run name resolution for
|
||||
// it, but this is sheer luck!
|
||||
@ -655,7 +655,7 @@ impl DefCollector<'_> {
|
||||
&mut self,
|
||||
module_id: LocalModuleId,
|
||||
resolutions: &[(Option<Name>, PerNs)],
|
||||
// All resolutions are imported with this visibility; the visibilies in
|
||||
// All resolutions are imported with this visibility; the visibilities in
|
||||
// the `PerNs` values are ignored and overwritten
|
||||
vis: Visibility,
|
||||
import_type: ImportType,
|
||||
|
@ -27,7 +27,7 @@ use crate::{
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
pub struct Resolver {
|
||||
// FIXME: all usages generally call `.rev`, so maybe reverse once in consturciton?
|
||||
// FIXME: all usages generally call `.rev`, so maybe reverse once in construction?
|
||||
scopes: Vec<Scope>,
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ impl TokenExpander {
|
||||
// FIXME switch these to ExpandResult as well
|
||||
TokenExpander::BuiltinDerive(it) => it.expand(db, id, tt).into(),
|
||||
TokenExpander::ProcMacro(_) => {
|
||||
// We store the result in salsa db to prevent non-determinisc behavior in
|
||||
// We store the result in salsa db to prevent non-deterministic behavior in
|
||||
// some proc-macro implementation
|
||||
// See #4315 for details
|
||||
db.expand_proc_macro(id.into()).into()
|
||||
|
@ -14,7 +14,7 @@
|
||||
//! The algorithm implemented here is a modified version of the one described in
|
||||
//! <http://moscova.inria.fr/~maranget/papers/warn/index.html>.
|
||||
//! However, to save future implementors from reading the original paper, we
|
||||
//! summarise the algorithm here to hopefully save time and be a little clearer
|
||||
//! summarize the algorithm here to hopefully save time and be a little clearer
|
||||
//! (without being so rigorous).
|
||||
//!
|
||||
//! The core of the algorithm revolves about a "usefulness" check. In particular, we
|
||||
@ -132,7 +132,7 @@
|
||||
//! The algorithm is inductive (on the number of columns: i.e., components of tuple patterns).
|
||||
//! That means we're going to check the components from left-to-right, so the algorithm
|
||||
//! operates principally on the first component of the matrix and new pattern-stack `p`.
|
||||
//! This algorithm is realised in the `is_useful` function.
|
||||
//! This algorithm is realized in the `is_useful` function.
|
||||
//!
|
||||
//! Base case (`n = 0`, i.e., an empty tuple pattern):
|
||||
//! - If `P` already contains an empty pattern (i.e., if the number of patterns `m > 0`), then
|
||||
|
@ -39,7 +39,7 @@ pub(crate) fn rewrite_links(db: &RootDatabase, markdown: &str, definition: &Defi
|
||||
if target.contains("://") {
|
||||
(target.to_string(), title.to_string())
|
||||
} else {
|
||||
// Two posibilities:
|
||||
// Two possibilities:
|
||||
// * path-based links: `../../module/struct.MyStruct.html`
|
||||
// * module-based links (AKA intra-doc links): `super::super::module::MyStruct`
|
||||
if let Some(rewritten) = rewrite_intra_doc_link(db, *definition, target, title) {
|
||||
@ -420,7 +420,7 @@ fn get_symbol_fragment(db: &dyn HirDatabase, field_or_assoc: &FieldOrAssocItem)
|
||||
function.as_assoc_item(db).map(|assoc| assoc.container(db)),
|
||||
Some(AssocItemContainer::Trait(..))
|
||||
);
|
||||
// This distinction may get more complicated when specialisation is available.
|
||||
// This distinction may get more complicated when specialization is available.
|
||||
// Rustdoc makes this decision based on whether a method 'has defaultness'.
|
||||
// Currently this is only the case for provided trait methods.
|
||||
if is_trait_method && !function.has_body(db) {
|
||||
|
@ -1951,16 +1951,16 @@ struct S {
|
||||
/// Test cases:
|
||||
/// case 1. bare URL: https://www.example.com/
|
||||
/// case 2. inline URL with title: [example](https://www.example.com/)
|
||||
/// case 3. code refrence: [`Result`]
|
||||
/// case 4. code refrence but miss footnote: [`String`]
|
||||
/// case 3. code reference: [`Result`]
|
||||
/// case 4. code reference but miss footnote: [`String`]
|
||||
/// case 5. autolink: <http://www.example.com/>
|
||||
/// case 6. email address: <test@example.com>
|
||||
/// case 7. refrence: [example][example]
|
||||
/// case 7. reference: [example][example]
|
||||
/// case 8. collapsed link: [example][]
|
||||
/// case 9. shortcut link: [example]
|
||||
/// case 10. inline without URL: [example]()
|
||||
/// case 11. refrence: [foo][foo]
|
||||
/// case 12. refrence: [foo][bar]
|
||||
/// case 11. reference: [foo][foo]
|
||||
/// case 12. reference: [foo][bar]
|
||||
/// case 13. collapsed link: [foo][]
|
||||
/// case 14. shortcut link: [foo]
|
||||
/// case 15. inline without URL: [foo]()
|
||||
@ -1987,16 +1987,16 @@ pub fn fo$0o() {}
|
||||
Test cases:
|
||||
case 1. bare URL: https://www.example.com/
|
||||
case 2. inline URL with title: [example](https://www.example.com/)
|
||||
case 3. code refrence: `Result`
|
||||
case 4. code refrence but miss footnote: `String`
|
||||
case 3. code reference: `Result`
|
||||
case 4. code reference but miss footnote: `String`
|
||||
case 5. autolink: http://www.example.com/
|
||||
case 6. email address: test@example.com
|
||||
case 7. refrence: example
|
||||
case 7. reference: example
|
||||
case 8. collapsed link: example
|
||||
case 9. shortcut link: example
|
||||
case 10. inline without URL: example
|
||||
case 11. refrence: foo
|
||||
case 12. refrence: foo
|
||||
case 11. reference: foo
|
||||
case 12. reference: foo
|
||||
case 13. collapsed link: foo
|
||||
case 14. shortcut link: foo
|
||||
case 15. inline without URL: foo
|
||||
|
@ -3,7 +3,7 @@
|
||||
//! or `ast::NameRef`. If it's a `ast::NameRef`, at the classification step we
|
||||
//! try to resolve the direct tree parent of this element, otherwise we
|
||||
//! already have a definition and just need to get its HIR together with
|
||||
//! some information that is needed for futher steps of searching.
|
||||
//! some information that is needed for further steps of searching.
|
||||
//! After that, we collect files that might contain references and look
|
||||
//! for text occurrences of the identifier. If there's an `ast::NameRef`
|
||||
//! at the index that the match starts at and its tree parent is
|
||||
|
@ -945,7 +945,7 @@ use crate::foo$0::FooContent;
|
||||
//- /lib.rs
|
||||
mod fo$0o;
|
||||
//- /foo/mod.rs
|
||||
// emtpy
|
||||
// empty
|
||||
"#,
|
||||
expect![[r#"
|
||||
RangeInfo {
|
||||
@ -995,7 +995,7 @@ mod fo$0o;
|
||||
mod outer { mod fo$0o; }
|
||||
|
||||
//- /outer/foo.rs
|
||||
// emtpy
|
||||
// empty
|
||||
"#,
|
||||
expect![[r#"
|
||||
RangeInfo {
|
||||
|
@ -1,4 +1,4 @@
|
||||
//! This module contains an import search funcionality that is provided to the assists module.
|
||||
//! This module contains an import search functionality that is provided to the assists module.
|
||||
//! Later, this should be moved away to a separate crate that is accessible from the assists module.
|
||||
|
||||
use hir::{import_map, AsAssocItem, Crate, MacroDef, ModuleDef, Semantics};
|
||||
|
@ -378,7 +378,7 @@ pub(super) fn match_repeat(
|
||||
src: &mut TtIter,
|
||||
) -> Result<(), ExpandError> {
|
||||
// Dirty hack to make macro-expansion terminate.
|
||||
// This should be replaced by a propper macro-by-example implementation
|
||||
// This should be replaced by a proper macro-by-example implementation
|
||||
let mut limit = 65536;
|
||||
let mut counter = 0;
|
||||
|
||||
|
@ -67,7 +67,7 @@ struct NestingState {
|
||||
/// because there is no variable in use by the current repetition
|
||||
hit: bool,
|
||||
/// `at_end` is currently necessary to tell `expand_repeat` if it should stop
|
||||
/// because there is no more value avaible for the current repetition
|
||||
/// because there is no more value available for the current repetition
|
||||
at_end: bool,
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,7 @@ impl TokenMap {
|
||||
}
|
||||
|
||||
fn remove_delim(&mut self, idx: usize) {
|
||||
// FIXME: This could be accidently quadratic
|
||||
// FIXME: This could be accidentally quadratic
|
||||
self.entries.remove(idx);
|
||||
}
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ fn use_tree(p: &mut Parser, top_level: bool) {
|
||||
// test use_tree_list
|
||||
// use {crate::path::from::root, or::path::from::crate_name}; // Rust 2018 (with a crate named `or`)
|
||||
// use {path::from::root}; // Rust 2015
|
||||
// use ::{some::arbritrary::path}; // Rust 2015
|
||||
// use ::{some::arbitrary::path}; // Rust 2015
|
||||
// use ::{{{root::export}}}; // Nonsensical but perfectly legal nesting
|
||||
T!['{'] => {
|
||||
use_tree_list(p);
|
||||
|
@ -79,7 +79,7 @@ impl Message for Response {}
|
||||
fn read_json(inp: &mut impl BufRead) -> io::Result<Option<String>> {
|
||||
let mut buf = String::new();
|
||||
inp.read_line(&mut buf)?;
|
||||
buf.pop(); // Remove traling '\n'
|
||||
buf.pop(); // Remove trailing '\n'
|
||||
Ok(match buf.len() {
|
||||
0 => None,
|
||||
_ => Some(buf),
|
||||
|
@ -251,7 +251,7 @@ impl<S> DecodeMut<'_, '_, S> for String {
|
||||
}
|
||||
}
|
||||
|
||||
/// Simplied version of panic payloads, ignoring
|
||||
/// Simplified version of panic payloads, ignoring
|
||||
/// types other than `&'static str` and `String`.
|
||||
#[derive(Debug)]
|
||||
pub enum PanicMessage {
|
||||
|
@ -4,7 +4,7 @@
|
||||
//! The lib-proc-macro server backend is `TokenStream`-agnostic, such that
|
||||
//! we could provide any TokenStream implementation.
|
||||
//! The original idea from fedochet is using proc-macro2 as backend,
|
||||
//! we use tt instead for better intergation with RA.
|
||||
//! we use tt instead for better integration with RA.
|
||||
//!
|
||||
//! FIXME: No span and source file information is implemented yet
|
||||
|
||||
|
@ -130,7 +130,7 @@ pub(crate) fn apply_document_changes(
|
||||
}
|
||||
|
||||
/// Checks that the edits inside the completion and the additional edits do not overlap.
|
||||
/// LSP explicitly forbits the additional edits to overlap both with the main edit and themselves.
|
||||
/// LSP explicitly forbids the additional edits to overlap both with the main edit and themselves.
|
||||
pub(crate) fn all_edits_are_disjoint(
|
||||
completion: &lsp_types::CompletionItem,
|
||||
additional_edits: &[lsp_types::TextEdit],
|
||||
|
@ -241,7 +241,7 @@ pub fn wildcard_pat() -> ast::WildcardPat {
|
||||
}
|
||||
}
|
||||
|
||||
/// Creates a tuple of patterns from an interator of patterns.
|
||||
/// Creates a tuple of patterns from an iterator of patterns.
|
||||
///
|
||||
/// Invariant: `pats` must be length > 1
|
||||
///
|
||||
|
@ -24,7 +24,7 @@ pub struct Token {
|
||||
/// Beware that it checks for shebang first and its length contributes to resulting
|
||||
/// tokens offsets.
|
||||
pub fn tokenize(text: &str) -> (Vec<Token>, Vec<SyntaxError>) {
|
||||
// non-empty string is a precondtion of `rustc_lexer::strip_shebang()`.
|
||||
// non-empty string is a precondition of `rustc_lexer::strip_shebang()`.
|
||||
if text.is_empty() {
|
||||
return Default::default();
|
||||
}
|
||||
@ -76,7 +76,7 @@ pub fn lex_single_syntax_kind(text: &str) -> Option<(SyntaxKind, Option<SyntaxEr
|
||||
}
|
||||
|
||||
/// The same as `lex_single_syntax_kind()` but returns only `SyntaxKind` and
|
||||
/// returns `None` if any tokenization error occured.
|
||||
/// returns `None` if any tokenization error occurred.
|
||||
///
|
||||
/// Beware that unescape errors are not checked at tokenization time.
|
||||
pub fn lex_single_valid_syntax_kind(text: &str) -> Option<SyntaxKind> {
|
||||
@ -96,7 +96,7 @@ pub fn lex_single_valid_syntax_kind(text: &str) -> Option<SyntaxKind> {
|
||||
///
|
||||
/// Beware that unescape errors are not checked at tokenization time.
|
||||
fn lex_first_token(text: &str) -> Option<(Token, Option<SyntaxError>)> {
|
||||
// non-empty string is a precondtion of `rustc_lexer::first_token()`.
|
||||
// non-empty string is a precondition of `rustc_lexer::first_token()`.
|
||||
if text.is_empty() {
|
||||
return None;
|
||||
}
|
||||
@ -117,7 +117,7 @@ fn rustc_token_kind_to_syntax_kind(
|
||||
token_text: &str,
|
||||
) -> (SyntaxKind, Option<&'static str>) {
|
||||
// A note on an intended tradeoff:
|
||||
// We drop some useful infromation here (see patterns with double dots `..`)
|
||||
// We drop some useful information here (see patterns with double dots `..`)
|
||||
// Storing that info in `SyntaxKind` is not possible due to its layout requirements of
|
||||
// being `u16` that come from `rowan::SyntaxKind`.
|
||||
|
||||
|
@ -63,7 +63,7 @@ pub fn extract_offset(text: &str) -> (TextSize, String) {
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the offset of the first occurence of `$0` marker and the copy of `text`
|
||||
/// Returns the offset of the first occurrence of `$0` marker and the copy of `text`
|
||||
/// without the marker.
|
||||
fn try_extract_offset(text: &str) -> Option<(TextSize, String)> {
|
||||
let cursor_pos = text.find(CURSOR_MARKER)?;
|
||||
|
Loading…
Reference in New Issue
Block a user