Build Information
Failed to build NotationView, reference 0.1.0 (edf140
), with Swift 6.1 for macOS (SPM) on 25 Apr 2025 05:32:35 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dn-m/notationview.git
Reference: 0.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dn-m/notationview
* tag 0.1.0 -> FETCH_HEAD
HEAD is now at edf1405 Merge pull request #18 from dn-m/update
Cloned https://github.com/dn-m/notationview.git
Revision (git rev-parse @):
edf1405c78b0b8c5d447164ce831a9adc5785d3f
SUCCESS checkout https://github.com/dn-m/notationview.git at 0.1.0
Fetching https://github.com/dn-m/Graphics
Fetching https://github.com/drmohundro/SWXMLHash
Fetching https://github.com/dn-m/Music
Fetching https://github.com/dn-m/Structure
Fetching https://github.com/dn-m/Math
Fetching https://github.com/dn-m/PerformanceTesting
Fetching https://github.com/dn-m/NotationModel
[12/1158] Fetching graphics
[25/6987] Fetching graphics, structure
[84/20148] Fetching graphics, structure, notationmodel
[282/20989] Fetching graphics, structure, notationmodel, math
[333/23809] Fetching graphics, structure, notationmodel, math, swxmlhash
[531/25334] Fetching graphics, structure, notationmodel, math, swxmlhash, performancetesting
[1500/29530] Fetching graphics, structure, notationmodel, math, swxmlhash, performancetesting, music
Fetched https://github.com/dn-m/Graphics from cache (0.77s)
[6423/28372] Fetching structure, notationmodel, math, swxmlhash, performancetesting, music
Fetched https://github.com/dn-m/Math from cache (0.94s)
Fetched https://github.com/drmohundro/SWXMLHash from cache (0.94s)
[11706/24711] Fetching structure, notationmodel, performancetesting, music
Fetched https://github.com/dn-m/Music from cache (1.15s)
Fetched https://github.com/dn-m/NotationModel from cache (1.15s)
Computing version for https://github.com/dn-m/NotationModel
Fetched https://github.com/dn-m/Structure from cache (1.15s)
Fetched https://github.com/dn-m/PerformanceTesting from cache (1.15s)
Computed https://github.com/dn-m/NotationModel at 0.6.0 (1.78s)
Computing version for https://github.com/dn-m/Graphics
Computed https://github.com/dn-m/Graphics at 0.1.1 (0.61s)
Computing version for https://github.com/dn-m/Music
Computed https://github.com/dn-m/Music at 0.10.0 (0.61s)
Computing version for https://github.com/dn-m/Math
Computed https://github.com/dn-m/Math at 0.6.0 (0.59s)
Computing version for https://github.com/dn-m/Structure
Computed https://github.com/dn-m/Structure at 0.19.3 (0.63s)
Computing version for https://github.com/drmohundro/SWXMLHash
Computed https://github.com/drmohundro/SWXMLHash at 4.7.4 (0.71s)
Computing version for https://github.com/dn-m/PerformanceTesting
Computed https://github.com/dn-m/PerformanceTesting at 0.3.0 (0.61s)
Creating working copy for https://github.com/dn-m/Math
Working copy of https://github.com/dn-m/Math resolved at 0.6.0
Creating working copy for https://github.com/dn-m/Graphics
Working copy of https://github.com/dn-m/Graphics resolved at 0.1.1
Creating working copy for https://github.com/dn-m/NotationModel
Working copy of https://github.com/dn-m/NotationModel resolved at 0.6.0
Creating working copy for https://github.com/dn-m/Music
Working copy of https://github.com/dn-m/Music resolved at 0.10.0
Creating working copy for https://github.com/dn-m/Structure
Working copy of https://github.com/dn-m/Structure resolved at 0.19.3
Creating working copy for https://github.com/dn-m/PerformanceTesting
Working copy of https://github.com/dn-m/PerformanceTesting resolved at 0.3.0
Creating working copy for https://github.com/drmohundro/SWXMLHash
Working copy of https://github.com/drmohundro/SWXMLHash resolved at 4.7.4
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "notationview",
"name": "NotationView",
"url": "https://github.com/dn-m/notationview.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/notationview",
"dependencies": [
{
"identity": "graphics",
"name": "Graphics",
"url": "https://github.com/dn-m/Graphics",
"version": "0.4.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Graphics",
"dependencies": [
{
"identity": "swxmlhash",
"name": "SWXMLHash",
"url": "https://github.com/drmohundro/SWXMLHash",
"version": "4.9.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SWXMLHash",
"dependencies": [
]
},
{
"identity": "math",
"name": "Math",
"url": "https://github.com/dn-m/Math",
"version": "0.8.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Math",
"dependencies": [
{
"identity": "structure",
"name": "Structure",
"url": "https://github.com/dn-m/Structure",
"version": "0.25.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Structure",
"dependencies": [
{
"identity": "performancetesting",
"name": "PerformanceTesting",
"url": "https://github.com/dn-m/PerformanceTesting",
"version": "0.4.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PerformanceTesting",
"dependencies": [
]
}
]
}
]
},
{
"identity": "structure",
"name": "Structure",
"url": "https://github.com/dn-m/Structure",
"version": "0.25.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Structure",
"dependencies": [
{
"identity": "performancetesting",
"name": "PerformanceTesting",
"url": "https://github.com/dn-m/PerformanceTesting",
"version": "0.4.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PerformanceTesting",
"dependencies": [
]
}
]
}
]
},
{
"identity": "notationmodel",
"name": "NotationModel",
"url": "https://github.com/dn-m/NotationModel",
"version": "0.9.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/NotationModel",
"dependencies": [
{
"identity": "structure",
"name": "Structure",
"url": "https://github.com/dn-m/Structure",
"version": "0.25.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Structure",
"dependencies": [
{
"identity": "performancetesting",
"name": "PerformanceTesting",
"url": "https://github.com/dn-m/PerformanceTesting",
"version": "0.4.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PerformanceTesting",
"dependencies": [
]
}
]
},
{
"identity": "math",
"name": "Math",
"url": "https://github.com/dn-m/Math",
"version": "0.8.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Math",
"dependencies": [
{
"identity": "structure",
"name": "Structure",
"url": "https://github.com/dn-m/Structure",
"version": "0.25.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Structure",
"dependencies": [
{
"identity": "performancetesting",
"name": "PerformanceTesting",
"url": "https://github.com/dn-m/PerformanceTesting",
"version": "0.4.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PerformanceTesting",
"dependencies": [
]
}
]
}
]
},
{
"identity": "music",
"name": "Music",
"url": "https://github.com/dn-m/Music",
"version": "0.17.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Music",
"dependencies": [
{
"identity": "structure",
"name": "Structure",
"url": "https://github.com/dn-m/Structure",
"version": "0.25.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Structure",
"dependencies": [
{
"identity": "performancetesting",
"name": "PerformanceTesting",
"url": "https://github.com/dn-m/PerformanceTesting",
"version": "0.4.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PerformanceTesting",
"dependencies": [
]
}
]
},
{
"identity": "math",
"name": "Math",
"url": "https://github.com/dn-m/Math",
"version": "0.8.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Math",
"dependencies": [
{
"identity": "structure",
"name": "Structure",
"url": "https://github.com/dn-m/Structure",
"version": "0.25.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Structure",
"dependencies": [
{
"identity": "performancetesting",
"name": "PerformanceTesting",
"url": "https://github.com/dn-m/PerformanceTesting",
"version": "0.4.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PerformanceTesting",
"dependencies": [
]
}
]
}
]
}
]
}
]
}
]
}
]
}
Fetching https://github.com/dn-m/notationview.git
[1/482] Fetching notationview
Fetched https://github.com/dn-m/notationview.git from cache (0.72s)
Fetching https://github.com/dn-m/Graphics from cache
Fetching https://github.com/dn-m/NotationModel from cache
Fetched https://github.com/dn-m/Graphics from cache (0.43s)
Fetched https://github.com/dn-m/NotationModel from cache (0.43s)
Computing version for https://github.com/dn-m/NotationModel
Computed https://github.com/dn-m/NotationModel at 0.9.0 (1.11s)
Fetching https://github.com/dn-m/Structure from cache
Fetching https://github.com/dn-m/Math from cache
Fetching https://github.com/dn-m/Music from cache
Fetched https://github.com/dn-m/Music from cache (0.45s)
Fetched https://github.com/dn-m/Structure from cache (0.45s)
Fetched https://github.com/dn-m/Math from cache (0.45s)
Computing version for https://github.com/dn-m/Math
Computed https://github.com/dn-m/Math at 0.8.0 (1.06s)
Computing version for https://github.com/dn-m/Music
Computed https://github.com/dn-m/Music at 0.17.1 (0.60s)
Computing version for https://github.com/dn-m/Graphics
Computed https://github.com/dn-m/Graphics at 0.4.1 (0.57s)
Fetching https://github.com/drmohundro/SWXMLHash from cache
Fetched https://github.com/drmohundro/SWXMLHash from cache (0.45s)
Computing version for https://github.com/dn-m/Structure
Computed https://github.com/dn-m/Structure at 0.25.0 (1.04s)
Fetching https://github.com/dn-m/PerformanceTesting from cache
Fetched https://github.com/dn-m/PerformanceTesting from cache (0.47s)
Computing version for https://github.com/dn-m/PerformanceTesting
Computed https://github.com/dn-m/PerformanceTesting at 0.4.0 (1.06s)
Computing version for https://github.com/drmohundro/SWXMLHash
Computed https://github.com/drmohundro/SWXMLHash at 4.9.0 (0.03s)
Creating working copy for https://github.com/dn-m/Music
Working copy of https://github.com/dn-m/Music resolved at 0.17.1
Creating working copy for https://github.com/drmohundro/SWXMLHash
Working copy of https://github.com/drmohundro/SWXMLHash resolved at 4.9.0
Creating working copy for https://github.com/dn-m/Structure
Working copy of https://github.com/dn-m/Structure resolved at 0.25.0
Creating working copy for https://github.com/dn-m/Graphics
Working copy of https://github.com/dn-m/Graphics resolved at 0.4.1
Creating working copy for https://github.com/dn-m/Math
Working copy of https://github.com/dn-m/Math resolved at 0.8.0
Creating working copy for https://github.com/dn-m/NotationModel
Working copy of https://github.com/dn-m/NotationModel resolved at 0.9.0
Creating working copy for https://github.com/dn-m/PerformanceTesting
Working copy of https://github.com/dn-m/PerformanceTesting resolved at 0.4.0
Creating working copy for https://github.com/dn-m/notationview.git
Working copy of https://github.com/dn-m/notationview.git resolved at 0.1.0 (edf1405)
warning: '.resolve-product-dependencies': dependency 'notationview' is not used by any target
Found 2 product dependencies
- Graphics
- NotationModel
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/dn-m/notationview.git
https://github.com/dn-m/notationview.git
{
"dependencies" : [
{
"identity" : "graphics",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/dn-m/Graphics"
},
{
"identity" : "notationmodel",
"requirement" : {
"range" : [
{
"lower_bound" : "0.6.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/dn-m/NotationModel"
}
],
"manifest_display_name" : "NotationView",
"name" : "NotationView",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "PlotView",
"targets" : [
"PlotView"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "StaffView",
"targets" : [
"StaffView"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RhythmView",
"targets" : [
"RhythmView"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ScoreView",
"targets" : [
"ScoreView"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "StaffViewTests",
"module_type" : "SwiftTarget",
"name" : "StaffViewTests",
"path" : "Tests/StaffViewTests",
"product_dependencies" : [
"QuartzAdapter",
"GraphicsTesting"
],
"sources" : [
"AccidentalTests.swift",
"ClefTests.swift",
"NoteheadTests.swift",
"StaffViewTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"StaffView"
],
"type" : "test"
},
{
"c99name" : "StaffView",
"module_type" : "SwiftTarget",
"name" : "StaffView",
"path" : "Sources/StaffView",
"product_dependencies" : [
"StaffModel"
],
"product_memberships" : [
"StaffView",
"ScoreView"
],
"sources" : [
"AccidentalView.swift",
"AltoClef.swift",
"BassClef.swift",
"ClefView.swift",
"Flat.swift",
"Natural.swift",
"NoteheadView.swift",
"Sharp.swift",
"StaffConfiguration.swift",
"StaffItemSize.swift",
"StaffLinesCollection.swift",
"StaffRepresentedPitch.swift",
"StaffView.swift",
"TenorClef.swift",
"TrebleClef.swift"
],
"target_dependencies" : [
"PlotView"
],
"type" : "library"
},
{
"c99name" : "ScoreViewTests",
"module_type" : "SwiftTarget",
"name" : "ScoreViewTests",
"path" : "Tests/ScoreViewTests",
"product_dependencies" : [
"GraphicsTesting"
],
"sources" : [
"ScoreViewTests.swift"
],
"target_dependencies" : [
"ScoreView"
],
"type" : "test"
},
{
"c99name" : "ScoreView",
"module_type" : "SwiftTarget",
"name" : "ScoreView",
"path" : "Sources/ScoreView",
"product_dependencies" : [
"Rendering"
],
"product_memberships" : [
"ScoreView"
],
"sources" : [
"ScoreView.swift"
],
"target_dependencies" : [
"PlotView",
"StaffView",
"RhythmView"
],
"type" : "library"
},
{
"c99name" : "RhythmViewTests",
"module_type" : "SwiftTarget",
"name" : "RhythmViewTests",
"path" : "Tests/RhythmViewTests",
"product_dependencies" : [
"GraphicsTesting"
],
"sources" : [
"BeamsViewTests.swift",
"RhythmViewTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"RhythmView"
],
"type" : "test"
},
{
"c99name" : "RhythmView",
"module_type" : "SwiftTarget",
"name" : "RhythmView",
"path" : "Sources/RhythmView",
"product_dependencies" : [
"Rendering",
"SpelledRhythm"
],
"product_memberships" : [
"RhythmView",
"ScoreView"
],
"sources" : [
"Beam.swift",
"BeamsView.Builder.swift",
"BeamsView.swift",
"Orientation.swift",
"RhythmView.TieRenderer.swift",
"RhythmView.swift",
"SubdivisionView.swift",
"TupletBracketView.swift"
],
"type" : "library"
},
{
"c99name" : "PlotViewTests",
"module_type" : "SwiftTarget",
"name" : "PlotViewTests",
"path" : "Tests/PlotViewTests",
"product_dependencies" : [
"GraphicsTesting"
],
"sources" : [
"AxisViewTests.swift",
"DefaultVerticalAxisViewTests.swift",
"DefaultVerticalPlotModelTests.swift",
"DefaultVerticalPlotViewTests.swift",
"PlotViewTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"PlotView"
],
"type" : "test"
},
{
"c99name" : "PlotView",
"module_type" : "SwiftTarget",
"name" : "PlotView",
"path" : "Sources/PlotView",
"product_dependencies" : [
"PlotModel",
"Rendering"
],
"product_memberships" : [
"PlotView",
"StaffView",
"ScoreView"
],
"sources" : [
"AxisView.swift",
"DefaultVerticalAxisView.swift",
"DefaultVerticalPlotLinesCollection.swift",
"DefaultVerticalPlotView.Builder.swift",
"DefaultVerticalPlotView.swift",
"HorizontalAxisPosition.swift",
"HorizontalAxisView.swift",
"HorizontalPlotView.swift",
"LinesPosition.swift",
"LinesSegment.swift",
"LinesSegmentCollection.swift",
"PlotView.swift",
"PlotViewCollection.swift",
"VerticalAxisPosition.swift",
"VerticalAxisView.swift",
"VerticalPlotView.swift"
],
"type" : "library"
}
],
"tools_version" : "4.2"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/19] Write sources
[18/19] Write swift-version-2F0A5646E1D333AE.txt
[20/21] Compiling Destructure Destructure.swift
[21/21] Emitting module Destructure
[22/45] Compiling Algebra Sum.swift
[23/45] Compiling Algebra Semigroup.swift
[24/45] Compiling Algebra Product.swift
[25/45] Compiling Algebra One.swift
[26/45] Compiling Algebra Multiplicative.swift
[27/45] Compiling Algebra MultiplicativeSemigroup.swift
[28/46] Compiling Algorithms Unzip.swift
[29/46] Compiling Algorithms TupleMap.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[30/46] Compiling Algorithms Swap.swift
[31/46] Compiling Algorithms Rotate.swift
[32/46] Compiling Algorithms Ordered.swift
[33/46] Compiling Algorithms Split.swift
[34/46] Compiling Algorithms StableSort.swift
[35/46] Emitting module Algorithms
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Structure/Sources/Algorithms/Combinatorics.swift:60:41: error: cannot find type 'SubSequence' in scope
58 |
59 | /// - Returns: `Zip2Sequence` of 2-tuples composed of adjacent values.
60 | public var pairs: Zip2Sequence<Self,SubSequence> {
| `- error: cannot find type 'SubSequence' in scope
61 | return zip(self,dropFirst())
62 | }
[36/46] Compiling Algorithms Combinatorics.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Structure/Sources/Algorithms/Combinatorics.swift:60:41: error: cannot find type 'SubSequence' in scope
58 |
59 | /// - Returns: `Zip2Sequence` of 2-tuples composed of adjacent values.
60 | public var pairs: Zip2Sequence<Self,SubSequence> {
| `- error: cannot find type 'SubSequence' in scope
61 | return zip(self,dropFirst())
62 | }
[37/46] Compiling Algebra Group.swift
[38/46] Compiling Algebra Invertible.swift
[39/46] Emitting module Algebra
[40/46] Compiling Algebra Accumulate.swift
[41/46] Compiling Algebra Additive.swift
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/3] Emitting module Destructure
[3/3] Compiling Destructure Destructure.swift
[4/27] Compiling Algorithms Unzip.swift
[5/27] Compiling Algebra Sum.swift
[6/27] Compiling Algebra Semigroup.swift
[7/27] Compiling Algebra One.swift
[8/27] Compiling Algebra Group.swift
[9/27] Compiling Algebra Invertible.swift
[10/28] Compiling Algebra Monoid.swift
[11/28] Compiling Algebra MonoidView.swift
[12/28] Compiling Algebra Product.swift
[13/28] Compiling Algebra Multiplicative.swift
[14/28] Compiling Algebra MultiplicativeSemigroup.swift
[15/28] Compiling Algorithms TupleMap.swift
[16/28] Compiling Algorithms Split.swift
[17/28] Compiling Algorithms Swap.swift
[18/28] Compiling Algorithms Ordered.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[19/28] Compiling Algorithms Rotate.swift
[20/28] Compiling Algorithms StableSort.swift
[21/28] Compiling Algorithms Combinatorics.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Structure/Sources/Algorithms/Combinatorics.swift:60:41: error: cannot find type 'SubSequence' in scope
58 |
59 | /// - Returns: `Zip2Sequence` of 2-tuples composed of adjacent values.
60 | public var pairs: Zip2Sequence<Self,SubSequence> {
| `- error: cannot find type 'SubSequence' in scope
61 | return zip(self,dropFirst())
62 | }
[22/28] Emitting module Algorithms
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Structure/Sources/Algorithms/Combinatorics.swift:60:41: error: cannot find type 'SubSequence' in scope
58 |
59 | /// - Returns: `Zip2Sequence` of 2-tuples composed of adjacent values.
60 | public var pairs: Zip2Sequence<Self,SubSequence> {
| `- error: cannot find type 'SubSequence' in scope
61 | return zip(self,dropFirst())
62 | }
BUILD FAILURE 6.1 macosSpm