Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

type/usage-typing rejects a connection usage typed by an allocation def

Open
#630 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
58/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
go
Domain
compilers

Research direction

Start by running the supplied alloc.sysml reproduction and inspect the implementation of the type/usage-typing diagnostic. Compare its accepted type categories with the AllocationDefinition specialization described in Systems Library/Allocations.sysml. Done means the allocation-typed connection validates without the reported error and later-tier diagnostics are no longer suppressed.

Written by the indexing model from the issue text.

Description

Version: sysml v0.9.0 (commit ee54ea0), darwin-arm64 release binary

A connection usage typed by an allocation def is rejected with type/usage-typing, but an allocation definition is a connection definition.

Repro
package P {
    part def A;
    part def B;
    allocation def Al { end a : A; end b : B; }
    connection c : Al[*];
}
$ sysml -validate -debug alloc.sysml
alloc.sysml:5:5: error: A connection must be typed by connection definitions. [type/usage-typing]
    connection c : Al[*];
    ^~~~~~~~~~~~~~~~~~~~~
sysml: alloc.sysml did not analyse cleanly; no check was made

The same thing happens when the allocation def also specializes Allocations::Allocation, or a user connection def.

Expected

No error. In the SysML v2 abstract syntax, AllocationDefinition specializes ConnectionDefinition, and the normative library says the same: Systems Library/Allocations.sysml, allocation def Allocation :> BinaryConnection. An allocation def therefore satisfies the typing requirement of a ConnectionUsage.

Because the error is in the type tier, it also hides every later-tier diagnostic for the whole model.

Dominant language
Go
Stars
24
Forks
5
Avg merge
10h 11m
Merged PRs (30d)
572

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Open-MBEE/OpenSysML

All issues in Open-MBEE/OpenSysML

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.