-
-
Notifications
You must be signed in to change notification settings - Fork 43
Open
Description
In Julia nightly
julia> versioninfo()
Julia Version 1.13.0-DEV.1317
Commit 3a50d6fb4b3 (2025-10-15 14:03 UTC)parsestmt throws, although it should not throw:
julia> using Base.JuliaSyntax
julia> parsestmt(SyntaxNode, "do"; ignore_errors = true, ignore_warnings = true)
ERROR: InexactError: trunc(UInt32, -1)
Stacktrace:
[1] throw_inexacterror(func::Symbol, to::Type, val::Int64)
@ Core ./boot.jl:866
[2] checked_trunc_uint
@ ./boot.jl:888 [inlined]
[3] toUInt32
@ ./boot.jl:972 [inlined]
[4] UInt32
@ ./boot.jl:1012 [inlined]
[5] convert
@ ./number.jl:7 [inlined]
[6] ParseStreamPosition
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/core/parse_stream.jl:197 [inlined]
[7] #peek_behind_pos#27
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/core/parse_stream.jl:645 [inlined]
[8] peek_behind_pos
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/core/parse_stream.jl:616 [inlined]
[9] peek_behind(stream::Base.JuliaSyntax.ParseStream; kws::@Kwargs{})
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/core/parse_stream.jl:649
[10] peek_behind
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/core/parse_stream.jl:648 [inlined]
[11] #peek_behind#50
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:80 [inlined]
[12] peek_behind
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:79 [inlined]
[13] parse_juxtapose(ps::Base.JuliaSyntax.ParseState)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:1135
[14] parse_where
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:1119 [inlined]
[15] parse_unary_subtype(ps::Base.JuliaSyntax.ParseState)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:1082
[16] parse_LtoR(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_unary_subtype), is_op::typeof(Base.JuliaSyntax.is_prec_bitshift))
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:354
[17] parse_shift
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:1051 [inlined]
[18] parse_LtoR(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_shift), is_op::typeof(Base.JuliaSyntax.is_prec_rational))
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:354
[19] parse_rational
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:1045 [inlined]
[20] parse_with_chains(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_rational), is_op::typeof(Base.JuliaSyntax.is_prec_times), chain_ops::Tuple{Base.JuliaSyntax.Kind})
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:995
[21] parse_term
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:987 [inlined]
[22] parse_with_chains(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_term), is_op::typeof(Base.JuliaSyntax.is_prec_plus), chain_ops::Tuple{…})
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:995
[23] parse_expr
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:980 [inlined]
[24] parse_invalid_ops(ps::Base.JuliaSyntax.ParseState)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:965
[25] parse_range(ps::Base.JuliaSyntax.ParseState)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:875
[26] parse_LtoR(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_range), is_op::typeof(Base.JuliaSyntax.is_prec_pipe_gt))
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:354
[27] parse_pipe_gt
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:862 [inlined]
[28] parse_RtoL(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_pipe_gt), is_op::typeof(Base.JuliaSyntax.is_prec_pipe_lt), self::typeof(Base.JuliaSyntax.parse_pipe_lt))
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:371
[29] parse_pipe_lt
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:855 [inlined]
[30] parse_comparison(ps::Base.JuliaSyntax.ParseState, subtype_comparison::Bool)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:813
[31] parse_comparison
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:805 [inlined]
[32]
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:770
[33] parse_and
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:798 [inlined]
[34] parse_lazy_cond(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_and), is_op::typeof(Base.JuliaSyntax.is_prec_lazy_or), self::typeof(Base.JuliaSyntax.parse_or))
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:770
[35] parse_or
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:789 [inlined]
[36] parse_arrow(ps::Base.JuliaSyntax.ParseState)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:732
[37] parse_cond(ps::Base.JuliaSyntax.ParseState)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:670
[38] parse_RtoL(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_cond), is_op::typeof(Base.JuliaSyntax.is_prec_pair), self::typeof(Base.JuliaSyntax.parse_pair))
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:371
[39] parse_pair
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:661 [inlined]
[40] parse_comma(ps::Base.JuliaSyntax.ParseState, do_emit::Bool)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:638
[41] parse_comma(ps::Base.JuliaSyntax.ParseState)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:636
[42] parse_assignment(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_comma))
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:579
[43] parse_eq
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:556 [inlined]
[44] parse_docstring(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_eq))
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:515
[45] parse_docstring
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:514 [inlined]
[46] parse_public(ps::Base.JuliaSyntax.ParseState)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:507
[47] parse_Nary(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_public), delimiters::Tuple{Base.JuliaSyntax.Kind}, closing_tokens::Tuple{Base.JuliaSyntax.Kind})
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:401
[48] parse_stmts(ps::Base.JuliaSyntax.ParseState)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser.jl:475
[49] parse!(stream::Base.JuliaSyntax.ParseStream; rule::Symbol)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser_api.jl:56
[50] parse!
@ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser_api.jl:47 [inlined]
[51] _parse(rule::Symbol, need_eof::Bool, ::Type{…}, text::String, index::Int64; version::VersionNumber, ignore_trivia::Bool, filename::Nothing, first_line::Int64, ignore_errors::Bool, ignore_warnings::Bool, kws::@Kwargs{})
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser_api.jl:89
┌[52] _parse
│ @ /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser_api.jl:82 [inlined]
╰──── repeated 2 times
[54] kwcall(::@NamedTuple{ignore_errors::Bool, ignore_warnings::Bool}, ::typeof(parsestmt), ::Type{SyntaxNode}, text::String)
@ Base.JuliaSyntax /cache/build/builder-amdci5-4/julialang/julia-master/base/JuliaSyntax/src/julia/parser_api.jl:145
[55] top-level scope
@ REPL[2]:1
Some type information was truncated. Use `show(err)` to see complete types.I am not sure whether the bug needs to be fixed in Julia or in JuliaSyntax.jl.
Metadata
Metadata
Assignees
Labels
No labels