Dear GCC members,
I understand that I am late in submitting this proposal. However, I found
out about gcc-rust and Google of Code three hours ago, and instead of doing
nothing, I decided that it is in my best interest to apply nonetheless. I'm
interested in Rust and the GCC frontend for many reaso
From: Owen Avery
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h
(Parser::parse_expr_stmt): Remove hypothetical unsafe +
expr_stmt_without_block handling.
Signed-off-by: Owen Avery
---
gcc/rust/parse/rust-parse-impl.h | 15 +++
1 file changed, 3 insertions(+), 12 de
From: Owen Avery
gcc/rust/ChangeLog:
* expand/rust-macro-builtins.cc
(MacroBuiltin::include_str_handler): Add check for valid UTF-8.
gcc/testsuite/ChangeLog:
* rust/compile/builtin_macro_include_str.rs:
Include test of invalid UTF-8.
* rust/compile/inval
From: Arthur Cohen
gcc/rust/ChangeLog:
* expand/rust-macro-builtins.cc (MacroBuiltin::include_handler): Do not
return nullptr token in expansion of `include!()`
gcc/testsuite/ChangeLog:
* rust/compile/empty.in: New test.
* rust/compile/include_empty.rs: New test
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* hir/tree/rust-hir-item.h: implement virtual function
* hir/tree/rust-hir.h: add virtual function
---
gcc/rust/hir/tree/rust-hir-item.h | 17 -
gcc/rust/hir/tree/rust-hir.h | 2 ++
2 fi
From: Owen Avery
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h
(Parser::parse_grouped_or_tuple_pattern): Add support for empty tuple
patterns.
gcc/testsuite/ChangeLog:
* rust/compile/parse_empty_tuple_pattern.rs: New test.
Signed-off-by: Owen Avery
---
gcc/rust/pars
From: Arthur Cohen
This commit changes our macro expansion system from an eager and recursive
macro expansion to a fixed-point like system. Instead of, when seeing
a macro invocation, expanding it and all of the macros within it, we
now perform multiple passes of expansion on the entire crate.
T
From: Pierre-Emmanuel Patry
Add two new tests with empty string for include_str and include_bytes
macros.
gcc/testsuite/ChangeLog:
* rust/compile/issue-1830_bytes.rs: New test.
* rust/compile/issue-1830_str.rs: New test.
Signed-off-by: Pierre-Emmanuel Patry
---
gcc/testsuite/
From: Owen Avery
gcc/testsuite/ChangeLog:
* rust/compile/variadic.rs: New test.
Signed-off-by: Owen Avery
---
gcc/testsuite/rust/compile/variadic.rs | 8
1 file changed, 8 insertions(+)
create mode 100644 gcc/testsuite/rust/compile/variadic.rs
diff --git a/gcc/testsuite/rus
From: Philip Herron
Fixes #776
Signed-off-by: Philip Herron
gcc/testsuite/ChangeLog:
* rust/compile/torture/traits10.rs: Fix test-case
---
.../rust/compile/torture/traits10.rs | 64 ++-
1 file changed, 62 insertions(+), 2 deletions(-)
diff --git a/gcc/testsu
From: Owen Avery
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h
(Parser::parse_stmt): Handle unsafe expression statements.
gcc/testsuite/ChangeLog:
* rust/compile/issue-1422.rs: New test.
Signed-off-by: Owen Avery
---
gcc/rust/parse/rust-parse-impl.h | 10
From: Arthur Cohen
The class now allows for more variants including a `Hint` one which
then gets emitted by calling `rust_inform`. This allows us to display
hints/tips/notes in backtracking contexts such as the parser.
gcc/rust/ChangeLog:
* rust-diagnostics.h (struct Error): Add new Kin
From: Philip Herron
Fixes #1361
Signed-off-by: Philip Herron
gcc/testsuite/ChangeLog:
* rust/compile/issue-1361.rs: New test.
---
gcc/testsuite/rust/compile/issue-1361.rs | 8
1 file changed, 8 insertions(+)
create mode 100644 gcc/testsuite/rust/compile/issue-1361.rs
diff
From: Owen Avery
gcc/rust/ChangeLog:
* ast/rust-ast-dump.cc
(Dump::visit): Add AltPattern visitor.
* ast/rust-ast-dump.h:
(Dump::visit): Add AltPattern visitor.
* ast/rust-ast-full-decls.h
(class AltPattern): Add declaration.
* ast/rust-ast
From: Philip Herron
When implementing general bounds checking as part of unify calls, we did
not check associated types on bounds which lead to alot of missed error
checking. This now recursively checks the bounds and the associated types
with a decent error message. This also required us to impl
From: Owen Avery
gcc/rust/ChangeLog:
* checks/errors/rust-feature-gate.h: Add trailing newline before EOF.
Signed-off-by: Owen Avery
---
gcc/rust/checks/errors/rust-feature-gate.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/rust/checks/errors/rust-feature-g
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* Make-lang.in: add new dependancy
* typecheck/rust-hir-type-check-base.cc (TypeCheckBase::query_type):
refactor
* typecheck/rust-hir-type-check-base.h: refactor
* typecheck/rust-hir-type-chec
From: Arthur Cohen
gcc/rust/ChangeLog:
* expand/rust-macro-invoc-lexer.cc (MacroInvocLexer::get_token_slice):
Add API to retrieve token slices when lexing macro expansions.
* expand/rust-macro-invoc-lexer.h: Declare `get_token_slice`.
---
gcc/rust/expand/rust-macro-invoc
From: Philip Herron
This refactors the unification systems to be a consistent interface using
switch statements and simple functions instead of the old clunky visitor
system. This is more maintainable as it is harder to miss cases when we
can take advantages of switch statements.
Signed-off-by:
From: Thomas Schwinge
gcc/rust/ChangeLog:
* ast/rust-ast-fragment.cc: Update copyright years.
* ast/rust-ast-fragment.h: Likewise.
* ast/rust-macro.cc: Likewise.
* checks/errors/rust-feature-gate.cc: Likewise.
* checks/errors/rust-feature-gate.h: Likewise.
From: Arthur Cohen
gcc/rust/ChangeLog:
* expand/rust-macro-expand.cc (MacroExpander::expand_eager_invocations):
Add documentation explaining the algorithm.
---
gcc/rust/expand/rust-macro-expand.cc | 14 +++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-hir-path-probe.cc
(PathProbeCandidate::Candidate::Candidate): refactor
(PathProbeCandidate::PathProbeCandidate): likewise
(PathProbeCandidate::as_string): likewise
(PathProbeC
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): remove error
message
gcc/testsuite/ChangeLog:
* rust/compile/func3.rs: update test case
---
gcc/rust/typecheck/rust-tyty-call.cc | 5 -
gcc/tes
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-hir-trait-ref.h: Moved to...
* typecheck/rust-hir-trait-reference.h: ...here.
* typecheck/rust-hir-trait-resolve.cc: refactor
* typecheck/rust-hir-trait-resolve.h (RUST_HIR_TRA
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* Make-lang.in: update name
* typecheck/rust-tyctx.cc: Moved to...
* typecheck/rust-typecheck-context.cc: ...here.
---
gcc/rust/Make-lang.in | 2 +-
gcc/rust/
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-substitution-mapper.cc (SubstMapper::SubstMapper):
refactor
(SubstMapper::Resolve): likewise
(SubstMapper::InferSubst): likewise
(SubstMapper::have_generic_args): likewise
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-tyty.cc (BaseType::BaseType): refactor
(BaseType::~BaseType): likewise
(BaseType::get_ref): likewise
(BaseType::set_ref): likewise
(BaseType::get_ty_ref): likewise
From: M V V S Manoj Kumar
Addresses #1567
Created a AST node InlineAsm similar to the one found in rustc.
As there is no Symbol struct/class in gccrs I have made every instance
of Symbol a string.
gcc/rust/ChangeLog:
* ast/rust-ast-full-decls.h (class InlineAsm):Added class declaration.
From: Arthur Cohen
gcc/rust/ChangeLog:
* ast/rust-ast.h: Keep location in TraitItem base class
* ast/rust-item.h (class TraitItemFunc): Use base class location
instead.
(class TraitItemMethod): Likewise.
(class TraitItemConst): Likewise.
(class TraitItemT
From: SainiAditya1
gcc/rust/Changelog:
* hir/tree/rust-hir-full-test.cc: Moved to...
* hir/tree/rust-hir.cc: ...here.
* Make-lang.in: Rename rust-hir-full-test.
Signed-off-by: SainiAditya1
---
gcc/rust/Make-lang.in| 2 +-
gcc/rust/hi
From: Owen Avery
gcc/rust/ChangeLog:
* ast/rust-pattern.h: Fix formatting.
Signed-off-by: Owen Avery
---
gcc/rust/ast/rust-pattern.h | 70 ++---
1 file changed, 34 insertions(+), 36 deletions(-)
diff --git a/gcc/rust/ast/rust-pattern.h b/gcc/rust/ast/r
From: Thomas Schwinge
'dg-excess-errors' "indicates that the test is expected to fail due to compiler
messages that are not handled by 'dg-error', [etc.]". It's argument doesn't
specify the message to match but just just a comment. Here, however, we'd like
to match specific compiler messages, s
From: Arthur Cohen
The parser was missing code for handling complex type arguments such
as type paths or nested generics.
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h (Parser::parse_generic_arg): Handle type
paths and nested generics properly.
gcc/testsuite/ChangeLog:
From: Owen Avery
gcc/rust/ChangeLog:
* hir/tree/rust-hir-pattern.h
(TuplePatternItemsRanged::get_lower_patterns): Add method.
(TuplePatternItemsRanged::get_upper_patterns): Add method.
* backend/rust-compile-pattern.cc
(CompilePatternLet::visit): Implement
From: Arthur Cohen
gcc/rust/ChangeLog:
* parse/rust-parse.h: Move `parse_macro_invocation` to public API.
---
gcc/rust/parse/rust-parse.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h
index 2f767bb2a53..
From: Pierre-Emmanuel Patry
RAIIFile constructor was accepting directory filename. This lead to
unattended directory opening in some part of the code (load_file_bytes)
wich resulted in ice. Since RAIIFile are used for the lexer, removing
the ability to open directories with RAIIFile fixes those i
From: Philip Herron
Existing tests are updated to use libcore copy and clone implementation.
Addresses #1725
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-unify.cc (UnifyRules::go): ensure the bounds are
checked
gcc/testsuite/ChangeLog:
* rust/compile/t
From: Owen Avery
gcc/rust/ChangeLog:
* backend/rust-compile-pattern.cc
(CompilePatternLet::visit): Simplify WildcardPattern compilation for
let statements.
* backend/rust-compile-var-decl.h:
(CompileVarDecl::visit): Remove variable declaration for
WildcardPatter
From: Philip Herron
This updates the higher ranked trait bounds computation to handle ambigious
cases. When we have a slice for example:
let slice = &a[1..3];
This works by reusing the Index operator overload from libcore, so when the
index range of 1..3 is computed, the type system needs to
From: Owen Avery
gcc/rust/ChangeLog:
* typecheck/rust-tyty-call.cc
(TypeCheckCallExpr::visit): Add variadic argument type checking.
(TypeCheckCallExpr::visit): Fix comment spelling ("varadic").
gcc/testsuite/ChangeLog:
* rust/execute/torture/overflow1.rs: Fix te
From: mxlol233
This commit implemented a feature gate to check `intrinsics`.
gcc/rust/ChangeLog:
* checks/errors/rust-feature-gate.cc: Add implementation for
`void FeatureGate::visit (AST::ExternBlock &block)`. Add `valid_feature`
construction process in `FeatureGate::ch
From: Pierre-Emmanuel Patry
Move function body to their own cc file instead of keeping them in the
header file.
gcc/rust/ChangeLog:
* Make-lang.in: Add `rust-hir-trait-reference.o`.
* typecheck/rust-hir-trait-reference.h: Remove multiple function body.
* typecheck/rust-h
From: Philip Herron
We need these lang items to be defined and later down the line the mappings
will be used to implement proper copy and clone logic.
Fixes #1786
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* util/rust-lang-item.h:
gcc/testsuite/ChangeLog:
* rust/compi
From: Pierre-Emmanuel Patry
The compiler's warning message about the safety flag did not match
cargo-gccrs environment variable name anymore.
gcc/rust/ChangeLog:
* rust-session-manager.cc (Session::compile_crate): Update the
environment variable name.
Signed-off-by: Pierre-Emma
From: Arthur Cohen
gcc/rust/ChangeLog:
* ast/rust-item.h (class BlockExpr): Remove forward declaration of
class `BlockExpr`.
---
gcc/rust/ast/rust-item.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/rust/ast/rust-item.h b/gcc/rust/ast/rust-item.h
index
From: Philip Herron
During CallExpr argument type checking we may be calling a default
implementation of a trait function this will require any possible
associated types to be resolved and setup. This monomoprhization call does
this but it will premtivly do extra unification of types which will t
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check.h: refactor
* typecheck/rust-tyctx.cc (TypeCheckContext::iterate): refactor
(TypeCheckContext::have_loop_context): likewise
(TypeCheckContext::push_new_loop_cont
From: Arthur Cohen
The parser now recursively tries to parse a reference type after seeing
a `&` or `&&` token.
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h (Parser::parse_type): Handle double ampersan
properly
(Parser::parse_reference_type): Call into `parse_reference_
From: Owen Avery
gcc/rust/ChangeLog:
* hir/tree/rust-hir-pattern.h
(class ReferencePattern): Remove has_two_amps field.
* hir/tree/rust-hir-full-test.cc
(ReferencePattern::as_string): Remove usage of
ReferencePattern::has_two_amps.
Signed-off-by: Owen Avery
---
From: Owen Avery
gcc/rust/ChangeLog:
* backend/rust-compile-expr.cc (CompileExpr::visit): Removed
copy-pasted comment.
Signed-off-by: Owen Avery
---
gcc/rust/backend/rust-compile-expr.cc | 24
1 file changed, 24 deletions(-)
diff --git a/gcc/rust/backend/rus
From: Philip Herron
When we check if this is concrete the guard checks to ensure the argument
is non null but the check here is wrongly returning early when the check
is non null meaning when it is null and therefore not concrete it will
end up doing a null dereference.
Signed-off-by: Philip Her
From: Philip Herron
This patch changes the recusive substitution code to take a reference
instead of a copy. This is important as the callback field is going to be
made non-copyable in a future patch and this pipeline is for recursive
substitutions so its ok to reuse the same mappings here.
Sign
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-hir-path-probe.cc (PathProbeType::PathProbeType):
refactor
(PathProbeType::Probe): likewise
(PathProbeType::visit): likewise
(PathProbeType::process_enum_item_for_candiates):
From: mxlol233
This commit implements a very basic feature checking module.
gcc/rust/ChangeLog:
* Make-lang.in: Add object files: `rust-feature.o` and
`rust-feature-gate.o`
* checks/errors/rust-feature-gate.cc: New file.
* checks/errors/rust-feature-gate.h: New file.
From: Arthur Cohen
In dg-output, check for \r* carriage returns to make sure execution
tests pass on windows platforms
gcc/testsuite/ChangeLog:
* rust/execute/torture/builtin_macro_cfg.rs: Handle carriage returns
properly.
* rust/execute/torture/builtin_macro_con
From: Owen Avery
gcc/rust/ChangeLog:
* backend/rust-compile-pattern.cc (CompilePatternLet::visit): New
function.
* backend/rust-compile-stmt.cc (CompileStmt::visit): Likewise.
* backend/rust-compile-pattern.h (class CompilePatternLet): New visitor.
Signed-off-by: Owen A
From: mxlol233
This commit adds virtual function get_locus to base class MetaItemInner,
which is helpful when we need to print diagnostics on some sub-classes of
MetaItemInner.
gcc/rust/ChangeLog:
* ast/rust-ast.h: Add get_locus method.
* ast/rust-expr.h: Likewise.
* as
From: Owen Avery
gcc/rust/ChangeLog:
* resolve/rust-ast-resolve-pattern.h: Support GroupedPattern properly.
Signed-off-by: Owen Avery
---
gcc/rust/resolve/rust-ast-resolve-pattern.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/gcc/rust/resolve/rust-ast-resolve-pattern.h
b
From: Owen Avery
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit):
Add proper
visitor.
Signed-off-by: Owen Avery
---
gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff -
From: Owen Avery
gcc/rust/ChangeLog:
* backend/rust-compile-pattern.cc (CompilePatternCaseLabelExpr::visit):
Add proper
visitor.
(CompilePatternBindings::visit): Likewise.
* backend/rust-compile-pattern.h: Declare them.
Signed-off-by: Owen Avery
---
gcc/rust/b
From: Parthib
gcc/rust/ChangeLog:
* Make-lang.in: Rename object file.
* ast/rust-ast-full-test.cc: Moved to...
* ast/rust-ast.cc: ...here.
---
gcc/rust/Make-lang.in | 2 +-
gcc/rust/ast/{rust-ast-full-test.cc => rust-ast.cc} | 0
2 files cha
From: mxlol233
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h (Parser::parse_generic_arg): Add proper bound
parsing.
gcc/testsuite/ChangeLog:
* rust/compile/bounds.rs: New test.
Signed-off-by: Xiao Ma
---
gcc/rust/parse/rust-parse-impl.h | 17 +
gcc/tests
From: Philip Herron
When we set the callback on substitutions this is not safe to be copied
around since we store the used argument mappings and can reuse them in
different contexts. This clears the callback on copy's to make it safer.
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
From: Owen Avery
gcc/rust/ChangeLog:
* ast/rust-pattern.h:
(ReferencePattern::is_double_reference): Add method.
(ReferencePattern::get_is_mut): Add method.
* hir/rust-ast-lower-pattern.cc
(ASTLoweringPattern::visit): Add ReferencePattern visitor.
*
From: mxlol233
Currently, the diagnostics only point to the corresponding token's
start position by carets, and lack of underlines for full token. This
commit add support for such underlines in diagnostics by encoding range
information in location_t.
gcc/rust/ChangeLog:
* lex/rust-lex.
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-tyty-subst.cc: add missing callback
---
gcc/rust/typecheck/rust-tyty-subst.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/rust/typecheck/rust-tyty-subst.cc
b/gcc/rust/typecheck/rust-tyty
From: Philip Herron
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* Make-lang.in: update the makefile
* typecheck/rust-tyty.cc (SubstitutionParamMapping::need_substitution):
likewise
(SubstitutionParamMapping::override_context): likewise
(SubstitutionRef::ge
From: Philip Herron
This moves the implementation code out of the header and into its
respective cc file.
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* typecheck/rust-tyty-bounds.cc (TypeBoundPredicateItem::error):
refactor
(TypeBoundPredicateItem::is_error): likewise
From: Abdul Rafey
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h (Parser::null_denotation): Add proper error
when seeing wildcard var on right side of assignment.
gcc/testsuite/ChangeLog:
* rust/compile/issue-867.rs: New test.
Signed-off-by: Abdul Rafey
---
gcc/rust/p
From: Arthur Cohen
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h (Parser::parse_closure_expr): Advance tokens
properly when parsing closure param list.
gcc/testsuite/ChangeLog:
* rust/compile/closure_move_expr.rs: New test.
---
gcc/rust/parse/rust-parse-impl.h
From: Arthur Cohen
gcc/rust/ChangeLog:
* ast/rust-macro.h (enum class): Add `BuiltinMacro` enum class.
* expand/rust-attribute-visitor.cc (AttrVisitor::visit): Mention
switching on `macro.kind` once builtin macro invocations are properly
handled.
* parse/r
From: Owen Avery
Update Rust type-checking to reuse TypeCheckPattern on HIR::LetStmt's.
This will unify the paths and improve error handling.
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): Cleanup
LetStmt
type checking.
Signed-off-by: Owen
From: Owen Avery
This allows patterns to declare multiple/no variables
gcc/rust/ChangeLog:
* backend/rust-compile-base.cc
(HIRCompileBase::compile_locals_for_block):
Allow patterns to declare zero or multiple variables.
* backend/rust-compile-var-decl.h: Change function
From: Raiki Tamura
gcc/rust/ChangeLog:
* ast/rust-ast-full-decls.h (class MacroItem): Remove forward
declaration.
* ast/rust-ast-full-test.cc (MacroRulesDefinition):
Rework MacroRulesDefinition class
* ast/rust-ast.h (class MacroItem): Remove abstract class.
From: Lyra
This commit fixes a compiler crash when expanding an empty macro into an
existing AST.
gcc/rust/ChangeLog:
* expand/rust-macro-expand.cc (transcribe_expression): Fix ICE when
expanding
empty macros.
gcc/testsuite/ChangeLog:
* rust/compile/macro45.rs: New t
From: Owen Avery
gcc/rust/ChangeLog:
* backend/rust-compile-fnparam.h
(CompileFnParam::visit): Remove HIR::GroupedPattern visitor.
* backend/rust-compile-pattern.cc
(CompilePatternCaseLabelExpr::visit): Remove HIR::GroupedPattern
visitor.
(CompilePatternB
From: Philip Herron
This extract these helpers into seperate files
Signed-off-by: Philip Herron
gcc/rust/ChangeLog:
* Make-lang.in: update makefile
* typecheck/rust-tyty.cc (TyVar::TyVar): move to new file
(TyVar::get_tyty): likewise
(TyVar::get_implicit_infer_
From: Philip Herron
This demonstrates that this also works for custom algebraic data types too.
gcc/testsuite/ChangeLog:
* rust/execute/torture/issue-1720-2.rs: New test.
Signed-off-by: Philip Herron
---
.../rust/execute/torture/issue-1720-2.rs | 30 +++
1 file c
From: MAHAD
gcc/rust/ChangeLog:
* rust-buffered-queue.h: Moved to...
* util/rust-buffered-queue.h: ...here.
Signed-off-by: Muhammad Mahad
---
gcc/rust/{ => util}/rust-buffered-queue.h | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename gcc/rust/{ => util}/rust-buffere
From: Owen Avery
gcc/rust/ChangeLog:
* hir/rust-ast-lower-pattern.cc
(ASTLoweringPattern::visit): Lower AST::GroupedPattern to its inner
pattern.
Signed-off-by: Owen Avery
---
gcc/rust/hir/rust-ast-lower-pattern.cc | 12 +---
1 file changed, 1 insertion(+), 11 deletio
From: Abdul Rafey
gcc/rust/ChangeLog:
* ast/rust-ast-dump.cc (Dump::visit): removed extra indentations in
trait ast dump
Signed-off-by: Abdul Rafey
---
gcc/rust/ast/rust-ast-dump.cc | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/gcc/rust/ast/rust-ast-dump.c
From: Abdul Rafey
gcc/rust/ChangeLog:
* ast/rust-ast.cc: Fix include list.
* ast/rust-expr.h: Likewise.
* hir/tree/rust-hir-expr.h: Likewise.
* rust-backend.h: Likewise.
* util/rust-lang-item.h: Likewise.
* operator.h: Moved to...
* util/ru
From: Owen Avery
gcc/rust/ChangeLog:
* hir/tree/rust-hir-pattern.h: Add get_item method.
Signed-off-by: Owen Avery
---
gcc/rust/hir/tree/rust-hir-pattern.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/gcc/rust/hir/tree/rust-hir-pattern.h
b/gcc/rust/hir/tree/rust-hir-patt
From: Owen Avery
gcc/rust/ChangeLog:
* hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::visit): Add proper
visitor.
* hir/rust-ast-lower-pattern.h: Declare it.
Signed-off-by: Owen Avery
---
gcc/rust/hir/rust-ast-lower-pattern.cc | 16
gcc/rust/hir/rust-ast-
From: Philip Herron
This patch adds support for the GenercArgsBinding type, where you can
specify the associated types of a trait bound using `` style
syntax. Note that the type-resolution relys on the i32 impl for Add
as type resolution will resolve the `a+a` to the core::ops::Add method
so code
From: Arthur Cohen
gcc/rust/ChangeLog:
* rust-session-manager.cc (Session::compile_crate): Fix typo.
---
gcc/rust/rust-session-manager.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 732aabe
From: Philip Herron
When specifying generic arguments to Traits we can also specify the
associated types using `` syntax we need to add
name resolution to the type argument here and rely on the type
resolution pass to ensure the associated type exists and to setup the
associated types accordingly
From: Dave
Use StackedContext instead. Fix error string
Signed-off-by: Dave Evans
(Squashed commits) Check for mutable references in const functions using
StackedContext
gcc/rust/ChangeLog:
* checks/errors/rust-const-checker.cc (ConstChecker::visit): Use
StackedContext
clas
Hi everyone,
This patchset contains around 80 commits concerning the Rust frontend.
We have been hard at work trying to get the Rust core library to
compile, and hope to push more commits in the coming days as we try
and upstream a more recent version of gccrs. All of the team has done
a tremendo
From: Prajwal S N
The `target_feature` attribute is for conditional compilation and may or
may not compile on all platforms. Using it requires an unsafe function
or block.
gcc/rust/ChangeLog:
* checks/errors/rust-unsafe-checker.cc (check_target_attr): New
function.
(UnsafeCheck
A failed build has been detected on builder gccrust-gentoo-sparc while building
gccrust.
Full details are available at:
https://builder.sourceware.org/buildbot/#builders/241/builds/450
Build state: failed 'grep unexpected ...' (failure)
Revision: 4d663acdb6e685c07818aa4229c7b1f2224d678b
Work
A retry build has been detected on builder gccrust-fedora-x86_64 while building
gccrust.
Full details are available at:
https://builder.sourceware.org/buildbot/#builders/16/builds/1024
Build state: worker not available
Revision: (unknown)
Worker: bbo1-2
Build Reason: (unknown)
Blamelist: Phi
A retry build has been detected on builder gccrust-opensusetw-x86_64 while
building gccrust.
Full details are available at:
https://builder.sourceware.org/buildbot/#builders/103/builds/875
Build state: worker not available
Revision: (unknown)
Worker: bbo1-1
Build Reason: (unknown)
Blamelist:
A new failure has been detected on builder gccrust-fedora-x86_64 while building
gccrust.
Full details are available at:
https://builder.sourceware.org/buildbot/#builders/16/builds/1019
Build state: failed 'grep unexpected ...' (failure)
Revision: a7302b77e3915c55ac043401696c84fcdbb96336
Work
A retry build has been detected on builder gccrust-opensusetw-x86_64 while
building gccrust.
Full details are available at:
https://builder.sourceware.org/buildbot/#builders/103/builds/873
Build state: worker not available
Revision: (unknown)
Worker: bbo1-2
Build Reason: (unknown)
Blamelist:
A restored build has been detected on builder gccrust-fedora-x86_64 while
building gccrust.
Full details are available at:
https://builder.sourceware.org/buildbot/#builders/16/builds/1020
Build state: build successful
Revision: 865f3b05ad3085e7fe1545fdffb9b5fca3db6412
Worker: bb1-1
Build Rea
A retry build has been detected on builder gccrust-rawhide-x86_64 while
building gccrust.
Full details are available at:
https://builder.sourceware.org/buildbot/#builders/132/builds/802
Build state: worker not available
Revision: (unknown)
Worker: bbo1-2
Build Reason: (unknown)
Blamelist: Pi
97 matches
Mail list logo